Ordering WP Posts by Custom Meta Key

末鹿安然 提交于 2019-11-28 07:52:26

问题


I created a WordPress custom post type to be able to create events, select the event's date, and display the date on the frontend.

I added a new meta_key in the postmeta of WP's database to store the event's date in a UNIX timestamp.

I've had no trouble creating a new WP query to output my events on my site but I am trying to figure out how to organize the events by their UNIX timestamp in the database, not by the date that WordPress created the events.

I can't seem to wrap my head around the thing.. any advice?


回答1:


I believe your query can have

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

you can read about it here: http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters




回答2:


Better use 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' );


来源:https://stackoverflow.com/questions/6145984/ordering-wp-posts-by-custom-meta-key

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!