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.
fonte
$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?$posts_per_page
que será igual a$sticky_count
, e aqui defino o parâmetro posts_per_page como 1, e que acho que será bom, pois esse caso talvez seja raro e estará apenas na primeira página ($sticky_count + 1
)Há um problema se as postagens adesivas estiverem na primeira página.
A solução é diminuir a contagem de postagens fixas das postagens fixas que fazem parte da primeira página.
Eu espero que isso ajude
fonte
Limpei as duas respostas acima em uma para que ele não carregue WP_Query desnecessário, corrige se o adesivo estiver na primeira página e reduza o tempo para processar as informações com um código mais rápido e limpo.
fonte