Пустой массив налоговых запросов возвращает пустой массив
Я хотел бы вернуть все сообщения, когда tax_query['условия'] пуст.
$args = array(
'post_type' => 'product',
'posts_per_page' => 15,
'paged' => $paged,
'post__not_in' => $exclude,
's' => $filter,
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'term_id',
'terms' => array(),
),
),
);
К сожалению, я не нашел решения этой проблемы. Как вы можете видеть, массив пуст: 'terms' => array(),
, но я хотел бы вернуть все сообщения. Как я могу этого достичь?
1
Author: user1452062, 2015-07-24
1 answers
Как уже намекал @Milo, проверьте, есть ли у вас условия, прежде чем добавлять свой tax_query
Вы можете попробовать следующее: ( Требуется PHP 5.4+ из-за короткого синтаксиса массива, при необходимости вернитесь к старому синтаксису)
$args = [
'post_type' => 'product',
'posts_per_page' => 15,
'paged' => $paged,
'post__not_in' => $exclude,
's' => $filter,
];
// Append our tax-query if we have terms. Make sure it is a valid string or array
$term = 'DEFINE YOUR TERM HERE';
if ( $terms ) {
$args['tax_query'] = [
[
'taxonomy' => 'product_cat'
'terms' => $terms,
]
];
}
$q = new WP_Query( $args );
4
Author: Pieter Goosen, 2015-07-25 06:28:02