Cómo usar pre_get_posts para establecer publicaciones por página
Estoy intentando usar pre_get_posts para establecer el número de publicaciones por página para un término específico dentro de una taxonomía. Una cosa que me confunde es cómo establecer el término al que aplicar el pre_get_posts.
Aquí está mi código:
function filtrar_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;
}//fin de filtrar_press_tax
No entiendo completamente cómo acceder a la taxonomía y al término en el $query. Sí, la taxonomía y el término tienen el mismo nombre. ¿Es esto una mala idea? No tengo una consulta personalizada configurada en la plantilla taxonomy-press-press.php para el 'tax_query', ¿es este el problema?
¡Agradecería cualquier ayuda! Gracias

Ya casi lo tienes, compañero. Prueba 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;
}
?>
Puedes usar cualquier etiqueta condicional o cualquier argumento que se pueda pasar a WP_Query
para probar tu condición o establecer un nuevo valor mediante pre_get_posts
. También prueba $query->get('taxonomy')
/ $query->get('term')
.
Y revisa esto para los métodos set y get de $query
.

¡Gracias por esto! El is_tax funciona genial pero aún no puedo establecer el término. has_term arroja un error y usar get('term') no aplica los posts por página. Intenté usar get('term') == slug, id y valores de nombre pero sin éxito. Luego probé $query->query_vars['term'] también sin suerte. Debo estar pasando por alto algo todavía. Revisé el objeto stdClass $query aquí: http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts y no veo un valor 'term' o has_term en la lista. Funciona siempre y cuando no intente establecer el término. Extraño.

¡De nada! ¿Quieres establecer el término? Déjame echarle un vistazo y ver cómo se puede hacer.

¡Gracias! Funciona bien por el momento y mi otro término en la taxonomía press, llamado online reviews, tampoco se ve terriblemente afectado. Estaré atento a cualquier cosa que puedas encontrar que pueda ser útil. :)
