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?
The metakey is used to retrieve the saved value from the database and display it. If you are a developer, chances are you already know about this WordPress function. https://codex.wordpress.org/Function_Reference/get_user_meta.
'meta_value_num' – Order by numeric meta value (available with Version 2.8). Also note that a 'meta_key=keyname' must also be present in the query. This value allows for numerical sorting as noted above in 'meta_value'. 'post__in' – Preserve post ID order given in the post__in array (available with Version 3.5).
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
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' );
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With