Estou usando pre_get_posts
para ajustar o número de postagens exibidas na minha página inicial.
function lifelounge_query_adjust( $query ) {
if ( is_home() ) {
set_query_var( 'posts_per_page', 12 );
return;
}
}
add_filter( 'pre_get_posts', 'lifelounge_query_adjust' );
Mas estou com um problema com postagens persistentes. Basicamente, se eu tiver postagens aderentes, a consulta exibirá mais do que as 12 postagens especificadas, porque exibirá 12 mais postagens aderentes. É claro que eu poderia ignorar postagens adesivas:
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' );
Mas não acho que isso seja ideal. Acho que as postagens fixas devem ser incluídas no limite de 12 postagens e não adicionadas ao limite. É isso que faz mais sentido para mim. Existe uma maneira de conseguir isso? Cometi um erro que valha a pena na cara?
Praticamente uma duplicata de: Postagens pegajosas e postagens por página, mas que foi estranhamente fechada por ser muito localizada. Discordo, obviamente, porque estou procurando uma resposta, mas também porque é uma questão de por que o WordPress não parece respeitar o posts_per_page
limite se você estiver usando postagens fixas. Se você quiser 12 postagens por página, deverá receber 12, e não 13, o que você obteria se tivesse uma única postagem adesiva.
$sticky_count + (12 - $sticky_count)
para12- $sticky_count
embora. Por exemplo, se eu tiver 1 adesivo, sua matemática ainda funcionará para 12 e, em seguida, o WP adicionará o post para 13. Ah, e seif ($sticky_count > $posts_per_page)
definirmos como 12, isso não significa que mostraremos mais de 24?