WordPress: создайте динамический фильтр, отображающий сообщения с числовым значением - PullRequest
0 голосов
/ 16 февраля 2010

Работа в WordPress здесь. Как вы, наверное, знаете, все типичные решения для отображения предстоящих событий в WordPress ужасны, поэтому я выполняю это с помощью простых настраиваемых полей. Каждое событие, которое пользователь введет, будет вводить числовую дату «ГГГГММДД».

Что мне нужно выяснить, так это как в PHP написать код для сценария, чтобы сначала получить php: the_date <'YYYYMMDD'>, а затем динамически фильтровать события WordPress, отображая только сообщения, значения которых больше или равны напечатанное числовое значение (это будет формат ГГГГММДД «сегодня», который извлекается через PHP: the_date.

Вот wp_query, который я использую:

    <?php
        $recentPosts = new WP_Query();
        $recentPosts->query('showposts=5&meta_key=event_date&orderby=meta_value&category_name=events&order=ASC');       
    if ($recentPosts->have_posts()) : while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?>

1 Ответ

1 голос
/ 16 февраля 2010

Чтобы получить дату: $current_date = date('Ymd')

После этого вы сможете запросить ваши сообщения примерно так:

$recentPosts = new WP_Query();
$recentPosts->query(array(
    'category_name' => 'events',
    'meta_key' => 'event_date',
    'meta_compare' => '>=',
    'meta_value' => $current_date,
    'orderby' => 'meta_value',
    'order' => 'ASC',
    'posts_per_page' => 5
));

Тогда вы можете просматривать сообщения в обычном порядке. Если вам нужно разбить на страницы, это будет немного сложнее, см. Документацию для query_posts.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...