<?php
//
// WordPress WP_Query example how to order by 1 single date&time field
// BUT sort by DATE DESC
// and by TIME ASC
//
$events = new WP_Query( [
// ... some other query settings of yours
'meta_query' => [
'relation' => 'AND' ,
'date_meta' => [
'key' => 'date_and_time' ,
'value' => wp_date( 'Y-m-d' ) ,
'compare' => '>=' ,
'type' => 'DATE' ,
] ,
'time_meta' => [
'key' => 'date_and_time' ,
'compare' => 'EXISTS' , # we don't actually want any restriction around time
'type' => 'TIME' ,
] ,
] ,
'orderby' => [
'date_meta' => 'DESC' ,
'time_meta' => 'ASC' ,
] ,
// order not needed for complex orderby
] ) ;
PD9waHAKCi8vCi8vIFdvcmRQcmVzcyBXUF9RdWVyeSBleGFtcGxlIGhvdyB0byBvcmRlciBieSAxIHNpbmdsZSBkYXRlJnRpbWUgZmllbGQKLy8gQlVUIHNvcnQgYnkgREFURSBERVNDCi8vICAgICBhbmQgYnkgVElNRSBBU0MKLy8KCiRldmVudHMgPSBuZXcgV1BfUXVlcnkoWwogIC8vIC4uLiBzb21lIG90aGVyIHF1ZXJ5IHNldHRpbmdzIG9mIHlvdXJzCgogICdtZXRhX3F1ZXJ5JyA9PiBbCiAgICAncmVsYXRpb24nID0+ICdBTkQnLAogICAgJ2RhdGVfbWV0YScgPT4gWwoJCSdrZXknID0+ICdkYXRlX2FuZF90aW1lJywKCQkndmFsdWUnID0+IHdwX2RhdGUoJ1ktbS1kJyksCgkJJ2NvbXBhcmUnID0+ICc+PScsCgkJJ3R5cGUnID0+ICdEQVRFJywKCV0sCiAgICAndGltZV9tZXRhJyA9PiBbCgkJJ2tleScgPT4gJ2RhdGVfYW5kX3RpbWUnLAoJCSdjb21wYXJlJyA9PiAnRVhJU1RTJywgIyB3ZSBkb24ndCBhY3R1YWxseSB3YW50IGFueSByZXN0cmljdGlvbiBhcm91bmQgdGltZQoJCSd0eXBlJyA9PiAnVElNRScsCgldLAogIF0sCiAgJ29yZGVyYnknID0+IFsKICAgICdkYXRlX21ldGEnID0+ICdERVNDJywKICAgICd0aW1lX21ldGEnID0+ICdBU0MnLAogIF0sCiAgLy8gb3JkZXIgbm90IG5lZWRlZCBmb3IgY29tcGxleCBvcmRlcmJ5Cl0pOwo=