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 に答える