Usando pre_get_posts para establecer publicaciones por página, ¿cómo lo hago?

3

Estoy tratando de usar pre_get_posts para establecer publicaciones por página para un solo término dentro de una taxonomía. Una cosa que me está desechando es establecer el término para aplicar los pre_get_posts a.

Aquí está mi código:

function filter_press_tax( $query ){
if( $query->query_vars['tax_query']['taxonomy'] == 'press' && $query->query_vars['tax_query']['terms'][0] == 'press' ):
    $query->query_vars['posts_per_page'] = 5;
    return;
endif;
}//end filter_press_tax

No entiendo bien cómo acceder a la taxonomía y al término en la consulta $. Sí, la taxonomía y el término tienen el mismo nombre. ¿Es una mala idea? No tengo una consulta personalizada configurada en la plantilla taxonomy-press-press.php para 'tax_query'. ¿Este es el problema?

Cualquier ayuda es apreciada! Gracias

    
pregunta dkmojo 02.04.2012 - 17:12

1 respuesta

10

Ya casi estás ahí compañero. Aunque intente esto.

<?php
    add_action('pre_get_posts', 'filter_press_tax');

    function filter_press_tax( $query ){
        if( $query->is_tax('press') && $query->has_term('press')):
            $query->set('posts_per_page', 5);
            return;
        endif;
    }
?>

Puede usar cualquier etiqueta condicional o cualquier argumento que se pueda pasar a WP_Query para probar su condición o establecer una nueva valor a través de pre_get_posts . También intente $query->get('taxonomy') / $query->get('term') . Y revise this para conocer los métodos de configuración y obtención de $query '.

    
respondido por el Rutwick Gangurde 02.04.2012 - 17:30

Lea otras preguntas en las etiquetas