二十一一テーマ...
ホームページ上で、私はうまくナビゲートリンクを通して正しく機能しているページ付けでちょうど「注目の」記事を表示するためにループをフィルターにかけました。 「フィルタなし」という別のページにすべてのカテゴリの投稿を表示しようとしています。この他のページで使用するとナビゲーションリンクが消えるのはなぜですか?
edit: 'paged'の値を '1'または '2'に変更すると、私が設定した値ではなく、設定した値に応じて 'paged'が機能するように思われる10の投稿が得られますget_query_var( 'paged')への変換
<?php /* $paged = ( get_query_var('page') ) ? get_query_var('page') : 1;*/
$unfiltered_query = new WP_Query (
array (
'posts_per_page' => 10,
'paged' => get_query_var( 'paged' )
)
);?>
<?php if ( $unfiltered_query->have_posts() ) : ?>
<?php twentyeleven_content_nav( 'nav-above' ); ?>
<?php /* Start the Loop */ ?>
<?php while ( $unfiltered_query->have_posts() ) : $unfiltered_query->the_post(); ?>
<?php get_template_part( 'excerpt', get_post_format() ); ?>
<?php endwhile; ?>
<?php twentyeleven_content_nav( 'nav-below' ); ?>
twentyeleven_content_nav()
はメインのクエリオブジェクト$wp_query
を使います。 $wp_query
ではなく$unfiltered_query
変数を使用し、次にwp_reset_query()
を使用して元の$wp_query
を復元する必要があります(これは$wp_the_query
にあります。直接触れないでください)。
元のクエリを復元するように注意している限り、問題はありません。
twentyeleven_content_nav()
がオプションで計算に使用できるクエリオブジェクトを取ることを可能にするパッチをcoreに提出します。
wP_Queryの引数はpaged
ですが、クエリvarはpage
です。最後に 'd'は付きません。
'paged' => get_query_var( 'paged' )
する必要があります:
'paged' => get_query_var( 'page' )
get_query_var( 'paged' )
をグローバルの$paged
に置き換えたらどうなりますか?例えばこれを置き換えます。
$unfiltered_query = new WP_Query (
array (
'posts_per_page' => 10,
'paged' => get_query_var( 'paged' )
)
...これとともに:
global $paged;
$unfiltered_query = new WP_Query (
array (
'posts_per_page' => 10,
'paged' => $paged
)
さて、それは明らかにうまくいかないでしょう。 $paged
グローバルは、クエリが実行されるまで設定されていないようです。