Заказ пользовательских сообщений по метабоксу даты - PullRequest
0 голосов
/ 23 февраля 2012

У меня есть собственный метабокс, в котором я храню дату в виде обычного текста, например: dd/mm/yy, и теперь мне нужно упорядочить посты к этой дате. Настраиваемое поле называется event_informations_date

<?php
    $args = array( 'post_type' => 'Event','posts_per_page' => 1000 );
    $loop = new WP_Query( $args );
?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

Ответы [ 3 ]

2 голосов
/ 23 февраля 2012

Вы хотите добавить

meta_key => 'event_informations_date',
orderby => 'meta_value',
order => 'DESC'

Однако, поскольку вы храните в виде обычного текста, вы получите лексикографический, а не хронологический порядок. Так, например, вы получите

23/01/2012
22/02/2012
15/12/2011
05.10.2013

, который является случайным порядком дат. Я не уверен, сможете ли вы преодолеть это, если вы не сохраните дату в формате ГГГГ-ММ-ДД, которая лексикографически сортируется в порядке дат.

0 голосов
/ 29 декабря 2013

Решение заключается в заказе по meta_value_number

meta_key => 'event_informations_date',
orderby => 'meta_value_number',
order => 'DESC'
0 голосов
/ 23 февраля 2012

Сначала сохраните дату как отметку времени.тогда вы можете сделать следующее в вашем WP_Query

$query = new WP_Query( 
           array ( 
              'orderby' => 'meta_value_num', 
              'meta_key'=> ' event_informations_date'
           )
         );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...