У меня проблемы с wc_get_products мета-запросом. Я пытаюсь исключить продукты, которые имеют clearance
или express
в SKU, а SKU имеют такой формат; (не мой выбор, что компания решила много лун go!)
Мой клуб - Express - Предмет Мой клуб - Очистка - Предмет Другой клуб - Стандартный - Предмет
Ниже приведены мои аргументы, может кто-нибудь сказать мне, что с ними не так?
'post_status' => array('publish', 'pending', 'draft', 'future', 'private'),
'parent' => array( 13, 14, 15 ),
'limit' => 1000,
'orderby' => 'id',
'order' => 'asc',
'type' => array( 'simple', 'variable' ),
'meta_query' => array(
'relation' => 'and',
array(
'relation' => 'or',
array(
'key' => '_sku',
'value' => 'clearance',
'compare' => 'NOT LIKE',
),
),
array(
'relation' => 'or',
array(
'key' => '_sku',
'value' => 'fxpe',
'compare' => 'NOT LIKE',
),
),
)
);
Я также выполнил шаги по woocommerce (внизу страницы) Добавление поддержки пользовательских параметров , которая выглядит следующим образом:
function handle_custom_query_var( $query, $query_vars ) {
if ( ! empty( $query_vars['_sku'] ) ) {
$query['meta_query'][] = array(
'key' => '_sku',
'value' => esc_attr( $query_vars['_sku'] ),
);
}
return $query;
}
add_filter( 'woocommerce_product_data_store_cpt_get_products_query', 'handle_custom_query_var', 10, 2 );
Я также пытался отменить мета-запрос и изменить сравнение на like
или !=
, но ничего не работает или, кажется, не влияет на запрос.
Любая помощь действительно ценится .
Спасибо
ОБНОВЛЕНИЕ ----------------------------- -
Я сделал большую опечатку в первом посте, чтобы подтвердить, что я использую wc_get_products no wp_query
Я пробовал несколько варианты мета-запроса, но пока ничего не работает ...
Просто использование одного мета-запроса, похоже, тоже не работает
'meta_query' => array(
'key' => '_sku',
'value' => 'express',
'compare' => '!=', // also tried 'NOT LIKE'
),
Из-за i Путаница с запросом Я отмечу вопрос Говарда Е правильным, как и для wp_query, и перепишу в нем правильную информацию.