Фильтрация пользовательских типов записей Wordpress с настраиваемым полем даты и в русском формате - PullRequest
2 голосов
/ 21 октября 2011

Я хочу отфильтровать пользовательский тип сообщения с пользовательским полем (датой) от текущей даты в следующем формате: 21.05.2011.Так что он должен выводить предстоящие игры (это мой тип поста).Мой запрос здесь:

<?php query_posts(array('post_type'=>'game',
                                             'paged' => get_query_var('paged') ? get_query_var('paged') : 1,
                                             'posts_per_page' => 23, 
                                             'meta_key' => 'date',
                                             'meta_compare' => '>=',
                                             'meta_value' => date("d.m.Y"),
                                             'orderby' => 'meta_value',
                                             'order' => 'ASC'
)); ?>

Он выводит что-то игры с такими датами (текущая дата 21.10.2011): 23.02.2011, 24.02.2011, 25.04.2011 .....

Мне нужны только предстоящие игры, например 24.10.2011, 01.11.2011 ...

1 Ответ

1 голос
/ 14 апреля 2012

Когда WP_Query (класс query_posts() сравнивает эти даты, он обрабатывает их как строковые литералы. С учетом этого 21.10.2011 меньше 23.02.2011, так как 23> 21.

Лучше всего хранить даты в более традиционном формате ГГГГ-ММ-ДД (чтобы 2011-10-21 предшествовал 2011-10-24), а затем отформатировать вывод, используя PHP-функцию даты .

Пример:

$date = '2011-10-21';
echo date('d-m-Y', strtotime($date));
# Output => '21.10.2011'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...