Как отфильтровать записи на странице пользовательской таксономии с помощью термина другой пользовательской таксономии - PullRequest
0 голосов
/ 23 октября 2019

У меня есть пользовательский тип сообщения - Идеи. У него есть 2 пользовательских таксономии - idea_cat и education_level.

. Сейчас я нахожусь на странице архива idea_cat и хочу отфильтровать записи по термину в education_level, используя pre_get_posts.

Я использую этот код -

function target_main_category_query_with_conditional_tags( $query ) {
    if ( ! is_admin() && $query->is_main_query() ) {
        // Not a query for an admin page.
        // It's the main query for a front end page of your site.

        if ( is_tax( 'idea_cat' ) ) {
            if ( isset( $_GET['term_education_level'] ) && $_GET['term_education_level'] != '' ) {

                $tax_query = array(

                    array(
                        'taxonomy' => 'idea_cat',
                        'field'    => 'slug',
                        'terms'    => $query->query['idea_cat'],
                        'operator' => 'IN',
                        'include_children'  => 1
                    ),
                    array( 
                        'taxonomy' => 'education_level', 
                        'field' => 'slug', 
                        'terms' => esc_html( $_GET['term_education_level'] ) 
                    )
                );
                $query->tax_query->queries = $tax_query;

            }
        }
    }
}
add_action( 'pre_get_posts', 'target_main_category_query_with_conditional_tags' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...