Wordpress:按自定义字段按时间顺序排序帖子

时间:2011-05-31 12:13:23

标签: wordpress date field

我有一些用作活动的帖子,其中包含活动日期的自定义字段。我正在寻找按事件日期排序的帖子(按时间顺序排列)。 我想知道:

  • 是否可以将事件的日期自定义字段设置为“日期”格式 (现在,这是一个简单的类型=文本)。
  • 如果我总是如何订购帖子 使用相同的格式(如 日/月/年)。我需要得到3个即将到来的事件(不是最后3个)。

wordpress是否具有内置功能,可以将日期与今天的日期进行比较?

感谢

1 个答案:

答案 0 :(得分:1)

我刚刚做到了! (www.wherewordsgo.com)

好吧,我只是为'页面'工作了但是。

但如果您为“截止日期”创建一个元框,然后将日期设置为yyyy / mm / dd格式并将其添加到您的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()'函数更改为相对于你的任何东西,那么它可能适用于所有内容。 / p>

希望有所帮助