2011-05-26 122 views
4

我创建了一个WordPress自定义帖子类型,以便能够创建事件,选择事件的日期并在前端显示日期。通过自定义Meta Key订购WP帖子

我在WP数据库的postmeta中添加了一个新的meta_key,以将事件的日期存储在UNIX时间戳中。

我没有创建一个新的WP查询来输出我的事件在我的网站上的麻烦,但我想弄清楚如何组织事件的UNIX时间戳在数据库中,而不是由WordPress创建日期事件。

我似乎无法将我的头围绕在这件事上..任何建议?

回答

12

我相信你的查询可以

'orderby' => 'meta_value_num', 
'meta_key' => 'event_timestamp' //or whatever your meta_key is 

,你可以在这里读到它:http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters

+2

哇!我忽略了这些论点..谢谢! – cqde 2011-05-27 00:15:12

+0

不客气。从WP 3.1开始,还有一个meta_query参数,但它很复杂。 – yitwail 2011-05-27 00:26:39

+2

只是想在这里添加我的两分钱给将来可能会找到答案的其他人。如果使用不正确(自动),插件“Post Type Reorder”可能会干扰此自定义排序。花了很长时间才弄清楚这一点。 – GhostToast 2012-05-07 15:28:49

0

更好地利用pre_get_posts

function ta_modify_main_query($query) { 
    if ($query->is_main_query()) { 
     $query->set('orderby', 'meta_value_num'); 
     $query->set('meta_key', '_liked'); 
     $query->set('order', 'DESC'); 
    } 
} 

add_action('pre_get_posts', 'ta_modify_main_query'); 
相关问题