pre_get_posts
ホームページに表示される投稿の数を調整するために使用しています。
function lifelounge_query_adjust( $query ) {
if ( is_home() ) {
set_query_var( 'posts_per_page', 12 );
return;
}
}
add_filter( 'pre_get_posts', 'lifelounge_query_adjust' );
しかし、私はスティッキーな投稿で問題に直面しています。私はスティッキーポストを持っている場合、基本的に、クエリが表示されますより多くのそれは12件のが表示されますので、私が指定した12件の記事よりプラス任意の粘着性の投稿を。もちろん、スティッキーな投稿は無視できます。
function lifelounge_query_adjust( $query ) {
if ( is_home() ) {
set_query_var( 'posts_per_page', 1 );
set_query_var( 'ignore_sticky_posts', 1 );
return;
}
}
add_filter( 'pre_get_posts', 'lifelounge_query_adjust' );
しかし、これは理想的ではないと思います。スティッキーな投稿は、12の投稿の制限に含まれるべきであり、制限に追加されるべきではないと思います。それが私にとって最も理にかなっていることです。それを達成する方法はありますか?私は顔の手のひらに値するエラーを犯しましたか?
ほぼ同じ:Sticky Posts&Posts Per Pageがローカライズされているため、不思議なことに閉じられました。私は答えを探しているので明らかに同意しませんが、スティッキーな投稿を使用している場合にWordPressがposts_per_page
制限を尊重していないように見える理由の質問でもあるためです。1ページあたり12件の投稿が必要な場合は、13件ではなく12件を取得する必要があります。
$sticky_count + (12 - $sticky_count)
する必要があると思います12- $sticky_count
。たとえば、スティッキーが1つある場合、数学はまだ12になり、WPはスティッキーポストを追加して13if ($sticky_count > $posts_per_page)
にします。