Ich habe diese Frage gefunden:
Gibt es eine Möglichkeit, $ query-> set ('tax_query' im pre_get_posts-Filter zu verwenden?
Dies scheint darauf hinzudeuten, dass Sie die Taxonomieabfrage in Taxonomiearchiven über pre_get_posts () ändern können. Also habe ich mir etwas ausgedacht
add_action('pre_get_posts', 'kia_no_child_terms' );
function kia_no_child_terms( $wp_query ) {
if( is_tax() ) {
$wp_query->tax_query->queries[0]['include_children'] = 0;
}
}
ebenso gut wie
add_action('pre_get_posts', 'kia_no_child_terms' );
function kia_no_child_terms( $wp_query ) {
if( is_tax() ) {
$tax_query = $wp_query->get( 'tax_query' );
$tax_query->queries[0]['include_children'] = 0;
$wp_query->set( 'tax_query', $tax_query );
}
}
um zu versuchen, den include_children-Parameter auf false zu setzen ... und fast jede Kombination der beiden, die mir einfällt. Bisher zeigt das Taxonomiearchiv jedoch immer noch die Elemente im untergeordneten Begriff an
und der folgende Test scheint nur die zusätzlichen Steuerabfragen HINZUFÜGEN, anstatt sie zu überschreiben ... was mich nur verwirrt.
function dummy_test( $wp_query){
$tax_query = array(
'relation' => 'OR',
array(
'taxonomy' => 'tax1',
'terms' => array( 'term1', 'term2' ),
'field' => 'slug',
),
array(
'taxonomy' => 'tax2',
'terms' => array( 'term-a', 'term-b' ),
'field' => 'slug',
),
);
$wp_query->set( 'tax_query', $tax_query );
);
add_action('pre_get_posts','dummy_test');
soll SET den aktuellen Wert nicht überschreiben?