3

我正在定制我的 WordPress 主题,我想在我的 WordPress 主页顶部添加最新的 2 个置顶帖子。为此,我使用以下代码:

<div class="trending-right">
   <?php
     $sticky = get_option( 'sticky_posts' ); // Get all sticky posts
     rsort( $sticky ); // Sort the stickies, latest first
     $sticky = array_slice( $sticky, 0, 2 ); // Number of stickies to show
     query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) ); // The query

     if (have_posts() ) { while ( have_posts() ) : the_post(); ?>
     <div class="trend-post">
     <div class="thumb"><?php the_post_thumbnail(array(150,100)); ?></div>
     <div class="title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></div>
     </div>
     <?php endwhile;?>
     <?php } else { echo ""; }?>

</div>

现在代码可以正常工作并显示最新的 2 个置顶帖子,但是它也会从主页中删除所有其他列出的帖子,并且只显示这 2 个置顶帖子。我尝试替换query_posts为,new WP_Query但在这种情况下,它显示所有粘性帖子而不是仅 2 个。

任何建议如何调整上述代码并使其工作?

4

1 回答 1

3

查看您的代码,我假设您刚刚向我们展示了粘性循环,并且还有另一个查询可以显示模板中其他位置的其他帖子?您应该使用 wp_reset_query(); 在您的自定义查询之后,这里是 Codex 中的条目;

Wordpress - 重置自定义查询

于 2012-09-09T12:47:42.843 回答