WP Query — использование налогового запроса в качестве фильтраPhp

Кемеровские программисты php общаются здесь
Anonymous
WP Query — использование налогового запроса в качестве фильтра

Сообщение Anonymous »

У меня есть две настройки таксономии: одна называется «Категория статьи» и «Подкатегория статьи». Я хотел бы, чтобы у каждого из них был раскрывающийся список со списком их терминов, и он отлично работает с использованием приведенного ниже кода, который является примером первого раскрывающегося списка: Теперь мы используем AJAX, поэтому при изменении поля выбора он изменяет запрос так, чтобы отображались только сообщения, соответствующие выбранному идентификатору термина. Опять же, это отлично работает, если использовать приведенный ниже код в качестве примера (комментарий «Наш код здесь» — это место, где находится наш код цикла):

Код: Выделить всё

function wow_query_advice_ajax_function() {
$service_area_select = $_POST['service_area_select'];
$category_select = $_POST['category_select'];

ob_start();
$args = array(
'post_type' => 'advice-and-article',
'post_status' => 'publish',
'posts_per_page' => 9,
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'article-category',
'field' => 'term_id',
'terms' => array($service_area_select),
'compare' => 'LIKE',
),
array(
'taxonomy' => 'article-sub-category',
'field' => 'term_id',
'terms' => array($category_select),
'compare' => 'LIKE',
)
),
);

$loop = new WP_Query( $args );

while ( $loop->have_posts() ) : $loop->the_post();
$advice_output = 'OUR CODE HERE';
endwhile;

wp_reset_postdata();

echo $advice_output;
echo ob_get_clean();
exit;
}
add_action('wp_ajax_wow_query_advice_ajax_function', 'wow_query_advice_ajax_function');
add_action('wp_ajax_nopriv_wow_query_advice_ajax_function', 'wow_query_advice_ajax_function');
Что нужно как-то исправить, так это то, что после того, как мы выберем термин из раскрывающегося списка, если мы решим отменить выбор, выбрав из списка «Поиск по области обслуживания», он ничего не возвращает, тогда как нам бы хотелось, чтобы он возвращал все.
Мы пробовали устанавливать значения «0» и «», но что бы мы ни пытались, он не возвращает все. Я предполагаю, что это потому, что он пытается найти «term_ids» КАК 0, но, конечно, этого не существует. Так как же нам сбросить фильтр, снова выбрав первый?
Будем очень признательны за любую помощь, спасибо!

Подробнее здесь: https://stackoverflow.com/questions/785 ... s-a-filter

Вернуться в «Php»