douhuan3448 2015-10-29 17:28
浏览 15
已采纳

WordPress - 显示所有类别的最后一篇文章

I just want to show the last post from all categories on my page. For I could do this, I've made the following code:

<?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();
?>

But the posts displayed are all the same. What I've forgot?

  • 写回答

2条回答 默认 最新

  • dqzuo0327 2015-10-29 17:35
    关注

    Your problem is here:

    'posts_per_page=1&cat=$categoryId'
    

    There's a significant difference between single and double quotes. Single quotes are for string literals. Variable interpolation requires double quotes.

    Change it to either:

    'posts_per_page=1&cat='.$categoryId
    

    Or:

    "posts_per_page=1&cat={$categoryId}"
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?