2013-11-29 3 views
0

Я пытаюсь запрашивать сообщения с использованием настраиваемых мета-полей (даты) и заказывать их по настраиваемому мета-полю (start_date).пользовательский запрос wordpress и orderby

Мне нужно искать сообщения, которые начинаются с сегодняшнего дня или после сегодняшнего дня.

Все, кажется, работает отдельно от заказа по дате начала и OR, любая помощь оценивается.

<?php 

$today = date('y-m-d'); 



$args = array(
    'numberposts' => -1, 
    'meta_key' => 'start_date', 
    'orderby' => 'meta_value', 
     'order' => 'ASC', 
    'meta_query' => array(
     'relation' => 'OR', 
     array(
      'key' => 'start_date', 
      'value' => $today, 
      'compare' => '>=' 
     ), 
     array(
      'key' => 'end_date', 
      'value' => $today, 
      'compare' => '>' 
     ) 
    ) 
); 

query_posts($args); 

?> 

ответ

1

Я предполагаю, вы базы данных MySQL для WordPress и формат даты должен быть YYYYMMDD.

Update формат даты: использование $today = date('Y-m-d'); в смену $today = date('y-m-d');

Также type=>date в meta_query, как показано ниже:

$args = array(
'numberposts' => -1, 
'meta_key'  => 'start_date', 
'orderby'  => 'meta_value', 
'order'   => 'ASC', 
'meta_query' => array(
    'relation' => 'OR', 
    array(
     'key'  => 'start_date', 
     'value'  => $today, 
     'type'  => 'date', 
     'compare' => '>=' 
    ), 
    array(
     'key'  => 'end_date', 
     'value'  => $today, 
     'type'  => 'date', 
     'compare' => '>' 
    ) 
) 
); 

Надежда поможет!

+0

+1, кроме того, для 'WP-3.7' есть [date_query] (http://heera.it/advanced-date-queries-wordpress-3-7). –

+1

@RCV, спасибо за обновление .. –

Смежные вопросы