Cum să utilizez pre_get_posts pentru a seta numărul de articole pe pagină?
Încerc să utilizez pre_get_posts pentru a seta numărul de articole pe pagină pentru un anumit termen dintr-o taxonomie. Un lucru care mă derutează este setarea termenului căruia să i se aplice pre_get_posts.
Iată codul meu:
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
Nu înțeleg pe deplin cum să accesez taxonomia și termenul în $query. Da, taxonomia și termenul au același nume. Este aceasta o idee proastă? Nu am un query personalizat configurat în template-ul taxonomy-press-press.php pentru 'tax_query' - este aceasta problema?
Orice ajutor este apreciat! Mulțumesc

Ești aproape gata, încearcă asta.
<?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;
}
?>
Poți folosi orice tag condițional sau orice argument care poate fi transmis către WP_Query
pentru a testa condiția ta sau pentru a seta o nouă valoare prin intermediul pre_get_posts
. De asemenea, încearcă $query->get('taxonomy')
/ $query->get('term')
.
Și verifică acest link pentru metodele set și get ale $query
.

Mulțumesc pentru asta! Funcția is_tax funcționează perfect, dar încă nu pot seta termenul. has_term aruncă o eroare și folosirea get('term') nu aplică numărul de postări pe pagină. Am încercat să folosesc get('term') == slug, id și valori ale numelui, dar fără succes. Apoi am încercat și $query->query_vars['term'], tot fără succes. Cred că încă îmi scapă ceva. M-am uitat în obiectul $query stdClass aici: http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts și nu văd o valoare 'term' sau has_term în listă. Funcționează atâta timp cât nu încerc să setez termenul. Ciudat.

Cu plăcere! Vrei să setezi termenul? Lasă-mă să mă uit și să văd cum se poate face.

Mulțumesc! Funcționează bine momentan, iar celălalt termen din taxonomia press, numit recenzii online, nu este afectat prea mult. Aștept cu interes orice ai putea găsi care ar putea fi de ajutor. :)
