#php #wordpress #woocommerce
Вопрос:
У меня есть 3 продукта, имеющих мета-ключ 'check_key' = 1
. 2 из них имеют атрибут 'pa_size_10_20'
со значениями » 100 » и «30»; у другого есть атрибут 'pa_size_30_40'
со значением «70».
Пожалуйста, помогите мне понять, почему приведенный ниже запрос возвращает все 3 продукта? Я ожидаю только 2 продукта с атрибутом ‘pa_size_10_20’.
$args = array(
'post_type' => 'product',
'visibility' => 'visible',
'post_status' => 'publish',
'numberposts' => -1,
'meta_query' => array(
array(
'key' => 'check_key',
'value' => '1',
'compare' => '='
)
),
'tax_query' => array(
array(
'taxonomy'=> 'pa_size_10_20',
'field' => 'name',
'terms' => 0,
'operator' => '!='
)
)
);
$posts = get_posts( $args );
ТИА
Ответ №1:
Похоже, что вы tax_query
бы вернули все термины таксономии, которые не называются 0
целым числом?
Я думаю, что если бы вы знали значения IN
, то я бы использовал их вместо этого.
$args = array(
'post_type' => 'product',
'visibility' => 'visible',
'post_status' => 'publish',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'check_key',
'value' => '1',
'compare' => '='
),
),
'tax_query' => array(
array(
'taxonomy'=> 'pa_size_10_20',
'field' => 'name',
'terms' => array('100', '300'),
'operator' => 'IN'
),
),
);
Комментарии:
1. Дело не в графе. Дело в том, что запрос для tazonomy ‘pa_size_10_20’ возвращает также запись в таксономии ‘pa_size_30_40’
2. Все, что не равно нулю