Muestra un número diferente de publicaciones de una categoría en las diferentes páginas
-
16-10-2019 - |
Pregunta
de acuerdo con Pagination con bucle personalizado. Utilizo el bucle personalizado para el juego Flash. Para hacer una paginación en la página con publicaciones de una categoría (MyDomain/Category/CategoryName) Usé:
add_action( 'pre_get_posts', 'wpse5477_pre_get_posts' );
function wpse5477_pre_get_posts( &$wp_query )
{
if ( $wp_query->is_category() ) {
$wp_query->set( 'post_type', 'game' );
$wp_query->set( 'posts_per_page', 9 );
}
}
Tengo la sección en la página principal de mi sitio, donde se muestra tres juegos de cada categoría. Pero de acuerdo con el código anterior, no puedo mostrar solo 3 juegos, incluso si determino en matriz ('post_per_page', 3) o smth como este, porque este número ya se ha determinado en $ WP-QUERY. ¿Cómo podría matar a dos pájaros de un solo piedra? Gracias.
Solución
Puede verificar la existencia de una variable, para que no lo sobrescriba:
add_action( 'pre_get_posts', 'wpse7262_pre_get_posts' );
function wpse7262_pre_get_posts( &$wp_query )
{
if ( $wp_query->is_category() ) {
if ( ! array_key_exists( 'post_type', $wp_query->query_vars ) ) {
$wp_query->set( 'post_type', 'game' );
}
if ( ! array_key_exists( 'posts_per_page', $wp_query->query_vars ) ) {
$wp_query->set( 'posts_per_page', 9 );
}
}
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a wordpress.stackexchange