2016-06-13 6 views
0

Я пытаюсь зациклировать некоторые сообщения, которые имеют настраиваемое поле под названием «WooCommerceEventsDate», содержащее дату в формате (j F Y). То, что я пытаюсь достичь, это только записи цикла, которые после текущей даты. Я пробовал практически любое решение, которое я видел в Интернете, и я просто не могу заставить его работать. Прямо сейчас цикл принимает все сообщения, а не только те, у которых есть дата после сегодняшнего дня.Цитирование будущих сообщений о событиях из пользовательской даты поля в wordpress

Вот мои аргументы до сих пор:

$today = date('j F Y'); 

$args = array(
    'posts_per_page' => 3, 
    'post_type'   => 'product', 
    'post_status'  => 'publish', 
    'meta_key'   => 'WooCommerceEventsDate', 
    'orderby'   => 'meta_value_num', 
    'order'    => 'DESC', 
    'meta_query' => array(
     'relation'  => 'AND', 
     array(
      'key'  => 'WooCommerceEventsDate', 
      'compare' => '>=', 
      'value'  => $today, 
     ) 
    ) 
); 

Может один из вас, ребята, место, где это происходит не так, и почему аргументы Арент фильтрации?

Для уточнения echo get_field('WooCommerceEventsDate'); отголоски: «2 августа 2016 года».

Я не могу изменить вывод WooCommerceEventsDate в моем бэкэнд. Я могу сделать это только в своем собственном коде.

ответ

1

Вы можете передать type в meta_query.

type => (строка) - Custom field type. Возможные значения: «NUMERIC», «BINARY», «CHAR», «DATE», «DATETIME», «DECIMAL», «SIGNED», «TIME», «UNSIGNED». Значение по умолчанию - «CHAR».

$today = date('j F Y'); 
    $args = array(
     'posts_per_page' => 3, 
     'post_type'   => 'product', 
     'post_status'  => 'publish', 
     'meta_key'   => 'WooCommerceEventsDate', 
     'orderby'   => 'meta_value_num', 
     'order'    => 'DESC', 
     'meta_query' => array(
      'relation'  => 'AND', 
      array(
       'key'  => 'WooCommerceEventsDate', 
       'compare' => '>=', 
       'value'  => $today, 
       'type'  => 'DATE', 
      ) 
     ) 
    );  

Для получения дополнительной информации Проверьте эту http://www.billerickson.net/code/wp_query-arguments/ линию нет 141 'meta_query'

EDIT

на дату Изменить формат WooCommerceEventsDate Перейти к plugins/woocommerce_events/js/events-admin.js найти эту функцию

jQuery('#WooCommerceEventsDate').datepicker({ 
       dateFormat : 'd MM yy' 

}); 

Изменить с помощью th является

jQuery('#WooCommerceEventsDate').datepicker({ 
       //dateFormat : 'd MM yy' 
       dateFormat : 'yy-mm-dd' 
}); 

Примечание :: Я не уверен, что это изменение влияет на другой, или нет.

+0

Перед добавлением типа => даты, он показывает все сообщения без фильтрации даты. Если я добавляю дату, она не показывает ничего. Я проверил даты, установленные в пользовательских полях. Они определенно после сегодняшнего дня. –

+0

@ EmilØstervig проверить эту ссылку для получения дополнительной информации http://www.billerickson.net/code/wp_query-arguments/ –

+0

Спасибо, но я уже видел разные типы аргументов. Я пробовал почти все из них. То, что я задаю в этом вопросе, - это то, почему мои аргументы не фильтруют сообщения. Я не прошу предоставить полный список доступных аргументов. –