Advanced Custom Fields: фильтрация записей по нескольким значениям полей
У меня есть следующая структура:
Пользовательский тип записи: q-and-a
Пользовательская таксономия: q_and_a_category
Термины таксономии: design, engineering, project-management
Я создаю три отдельных страницы, которые фильтруют пользовательские типы записей по их терминам. То есть одна страница для Design, одна для Engineering и другая для Project Management.
Я реализую это с помощью трех отдельных шаблонов страниц, вот так:
<?php
$args=array(
'post_type' => 'q-and-a',
'q_and_a_category' => 'design' //слаг термина пользовательской таксономии
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
?>
<?php the_title(); ?>
<?php endwhile; }?>
<?php wp_reset_query(); ?>
Но я пытаюсь создать единый шаблон страницы, где термин таксономии выбирается через меню "select", которое я настроил с помощью Advanced Custom Fields.
Я пробовал следовать руководству плагина ACF, пример 3:
Вот так:
<?php
// аргументы
$args = array(
'numberposts' => -1,
'post_type' => 'q-and-a',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'q_and_a_category',
'value' => '%design%',
'compare' => 'LIKE'
),
array(
'key' => 'q_and_a_category',
'value' => '%engineering%',
'compare' => 'LIKE'
),
array(
'key' => 'q_and_a_category',
'value' => '%project-management%',
'compare' => 'LIKE'
)
)
);
// получаем результаты
$the_query = new WP_Query( $args );
// Цикл
?>
<?php if( $the_query->have_posts() ): ?>
<?php the_title(); ?>
<?php endif; ?>
<?php wp_reset_query(); // Восстанавливаем оригинальные данные поста. ?>
Когда я пробую это, страница загружается во фронтенде, но записи не отображаются.
Есть какие-то предложения? Заранее спасибо.
Я также разместил вопрос на форуме Advanced Custom Fields и получил ответ. Это оказалось проще, чем я думал.
