2015-10-29 4 views
0

Я просто хочу показать последнее сообщение из всех категорий на моей странице. Для этого я сделал следующий код:WordPress - Показать последнее сообщение со всех категорий

<?php 
    $args = array(
     'orderby' => 'name', 
     'order' => 'ASC' 
    ); 

    $categories = get_categories($args); 

    foreach($categories as $category) { 
     $categoryId = $category->cat_ID; 

     query_posts('posts_per_page=1&cat=$categoryId'); 
     if (have_posts()) : 
      while (have_posts()) : the_post(); ?> 
       <h1><?php the_title(); ?></h1> 
       <span><?php echo $categoryId; ?></span> 
     <?php 
      endwhile; 
     endif; 
    } 
     wp_reset_query(); 
?> 

Но сообщения отображаются одинаково. Что я забыл?

+0

Возможный дубликат [как получить только 1 сообщение от каждой категории в wordpress] (http://stackoverflow.com/questions/3264323/how-do-i-get-only-1-post-from-each -категория в-wordpress) – rnevius

ответ

1

Ваша проблема здесь:

'posts_per_page=1&cat=$categoryId' 

Там есть существенная разница между одинарными и двойными кавычками. Одиночные кавычки предназначены для строковых литералов. Для переменной интерполяции требуются двойные кавычки.

Изменить это либо:

'posts_per_page=1&cat='.$categoryId 

Или:

"posts_per_page=1&cat={$categoryId}" 
+0

О, мужик, как я глуп. Большое спасибо. – Adam

+0

Случается к лучшему из нас, brotato. Если это ответит на ваш вопрос, обязательно примите его, как только сможете. – maiorano84

-1

Пожалуйста, используйте аргумент так:

$args = array(
    'orderby' => 'name', 
    'order' => 'ASC', 
    'posts_per_page' =>'-1' 
); 

posts_per_page = -1 используется для извлечения всех сообщений.

+1

Это не только не отвечает на вопрос, но и делает полную противоположность тому, что просит ОП. – maiorano84

Смежные вопросы