Wordpress: сортировать сообщения в хронологическом порядке по пользовательскому полю - PullRequest
1 голос
/ 31 мая 2011

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

  • Можно ли установить поле даты в качестве формата даты? (на данный момент это простой тип = текст).
  • Как заказать эти сообщения, если я всегда использовать тот же формат (например, дд / мм / год). Мне нужно получить 3 ближайших предстоящих события (не последние 3).

Имеет ли Wordpress встроенную функцию, которая может сравнивать дату с сегодняшней?

спасибо

1 Ответ

1 голос
/ 30 июня 2011

Я только что сделал это!(www.wherewordsgo.com)

ладно, у меня это работает только на «страницах», но.

но если вы сделаете мета-поле для 'крайнего срока', а затем поместите дату в формате гггг / мм / дд и добавите ее в файл functions.php, это может помочь:

add_action ('wp ',' check_page ');function check_page () {if (is_page ()) {add_filter ('get_previous_post_sort', 'sort_it');add_filter ('get_next_post_sort', 'sort_it');add_filter ('posts_orderby', 'sort_it');add_filter ('posts_join', 'join_it');add_filter ('posts_where', 'where_it');

    function sort_it () {
        global $wpdb;

        return " $wpdb->postmeta.meta_value ASC ";
    }

    function join_it( $join ) {
        global $wpdb;

        $join .= " LEFT JOIN $wpdb->postmeta ON($wpdb->posts.ID = $wpdb->postmeta.post_id) ";

      return $join;
    }

    function where_it( $where ) {
        global $wpdb;
        $where .= "AND $wpdb->postmeta.meta_key = 'deadline' ";

      return $where;
    }
}

Я получил это с какого-то сайта (на который я потерял ссылку для ... большого парня из WP, хотя я думаю) и изменил его по мере необходимости.Как я уже говорил, он работает только для пользовательских страниц в моей сборке (я использую пользовательский тип), но вполне может сработать для всего, если вы измените функцию is_page () в начале на ту, которая вам подходит.

Надеюсь, что поможет

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