Как мне отфильтровать эти результаты по пользовательской таксономии? - PullRequest
0 голосов
/ 25 марта 2020

У меня есть пользовательский тип записи, который я отсортировал по дате из поля выбора даты ACF. Мне нужно иметь возможность фильтровать эти результаты на основе пользовательской таксономии, которую я получил. Я не могу понять, где добавить массив tax_query. Продолжает ломать сайт. Имя таксономии - pre_job_status, термин для фильтрации - «полный опрос». В настоящее время у меня есть следующий код

<?php 

// get posts
$posts = get_posts(
'tax_query' => array(
        array(
            'taxonomy' => 'pre_job_status',
            'field' => 'slug',
            'terms' => array( 'survey-complete' )
        ),
    ),
array(
    'post_type'         => 'pre_jobs',
    'posts_per_page'        => -1,
    'meta_key'          => 'survey_date',
    'orderby'           => 'meta_value',
    'order'             => 'ASC',
));

if( $posts ): ?>
    <hr>
    <ul>

    <?php foreach( $posts as $post ): 

        setup_postdata( $post )

        ?>
        <?php $requestor = get_field('pre_job_requestor', $client->ID ); ?>
        <?php $survey_site = get_field('survey_site', $client->ID ); ?>
        <li>
            <?php the_field('survey_date'); ?> - <a href="<?php the_permalink(); ?>"><?php the_title(); ?> - <?php echo $requestor[0]->post_title; ?> - <?php echo $survey_site[0]->post_title; ?></a>
        </li><hr>

    <?php endforeach; ?>

    </ul>

    <?php wp_reset_postdata(); ?>

<?php endif; ?>

1 Ответ

1 голос
/ 26 марта 2020

Ваш запрос get_posts() должен выглядеть следующим образом:

// get posts
$posts = get_posts(array(
    'post_type'         => 'pre_jobs',
    'posts_per_page'        => -1,
    'meta_key'          => 'survey_date',
    'orderby'           => 'meta_value',
    'order'             => 'ASC',
    'tax_query' => array(
        array(
            'taxonomy' => 'pre_job_status',
            'field' => 'slug',
            'terms' => array( 'survey-complete' )
        ),
    ),
));

Массив tax_query должен быть добавлен в основной массив запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...