У меня есть запрос Woocomerce, который работает с одним meta_key ('countdown_date
' или 'hour
').Wordpress заказано двумя настраиваемыми полями meta_key
Это сортирует продукты по обычаю 'meta_key' => 'countdown_date'
или'hour'
и orders them using 'orderby' => 'meta_value_num'
.
Мне нужно присоединиться к двум meta_key's
вместе. (ключ «час» возвращает только первые два значения времени 24hr
).
Результат требуется, товаров, заказанные два настраиваемых полей countdown_date и часа
$args = array(
'posts_per_page' => 20,
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'live-events'
)),
'post_type' => 'product',
'meta_key' => 'countdown_date',
// need to add second meta key here 'meta_key' => 'hour',
'orderby' => 'meta_value_num',
'order' => 'ASC'
);
$the_query = new WP_Query($args);
Я смотрел нагрузки подобных вопросов без каких-либо результатов.
Две петли кажутся излишними, и добавление meta_query не работает для меня.
Любая помощь будет отличной. :)
Полный рабочий код в поле ниже ответ от @Rene_Korss
Могу ли я получить руку добавить это functions.php так, что архив будет сортировать точно так же, как пользовательский цикл.
Ниже приведена упрощенная версия функции, в которой я работал. Мне также нужно добавить два meta_key.
add_filter('woocommerce_get_catalog_ordering_args','wdm_change_ordering',10,1);
function wdm_change_ordering($args) {
if(is_product_category()) {
$args['meta_key'] = 'countdown_date';
// need to add second meta key here $args['meta_key'] = 'hour',
$args['orderby'] = 'meta_value';
$args['order'] = 'ASC';
}
return $args;
}
Эй Рене, спасибо за вашу помощь с этим. URL-адрес, если вам интересно: http://epicentre.tv –
Я добавил функцию и фильтры в файл functions.php. Обновлен $ args. Результаты такие же, как если бы они были заказаны, а countdown_date. Не уверен, где отсюда. Вы подходите отлично, просто не можете понять, почему он не набирает час. Часовая доза работает как единый мета-ключ. –
@ Frithir.com Как оказалось, вы не можете установить custome 'orderby', см. [Параметры заказа и порядка WP] (https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters). Кроме того, таблицы postmeta называются немного разными. Извините за недопонимание. Я отредактировал свой ответ. –