Estoy usando pre_get_posts
para ajustar la cantidad de publicaciones que se muestran en mi página de inicio.
function lifelounge_query_adjust( $query ) {
if ( is_home() ) {
set_query_var( 'posts_per_page', 12 );
return;
}
}
add_filter( 'pre_get_posts', 'lifelounge_query_adjust' );
Pero me encuentro con un problema con las publicaciones adhesivas. Básicamente, si tengo publicaciones fijas, la consulta mostrará más de las 12 publicaciones que he especificado, porque mostrará 12 más cualquier publicación fija. Podría, por supuesto, ignorar las publicaciones adhesivas:
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' );
Pero no creo que esto sea ideal. Creo que las publicaciones fijas deberían incluirse en el límite de 12 publicaciones y no agregarse al límite. Eso es lo que tiene más sentido para mí. ¿Hay alguna manera de lograr eso? ¿He cometido un error digno de palmarse la cara?
Prácticamente un duplicado de: Publicaciones fijas y Publicaciones por página, pero eso estaba extrañamente cerrado porque estaba demasiado localizado. No estoy de acuerdo, obviamente porque estoy buscando una respuesta, pero también porque es una cuestión de por qué WordPress no parece respetar el posts_per_page
límite si está utilizando publicaciones fijas. Si desea 12 publicaciones por página, debe obtener 12, no 13, que es lo que obtendría si tuviera una sola publicación adhesiva.
$sticky_count + (12 - $sticky_count)
al12- $sticky_count
embargo. Por ejemplo, si tengo 1 adhesivo, entonces tu matemática aún funciona a 12, y luego WP agrega la publicación adhesiva para hacer 13. Ah, y siif ($sticky_count > $posts_per_page)
lo establecemos en 12, ¿eso no significa que mostraremos 24+?