Using WordPress ‘events’ posts with a start date meta, I need an SQL query that orders future events ascending and past events descending. Example revised SQL code:
SELECT e.event_title, m.start_date
FROM wp_posts AS e
JOIN wp_postmeta AS m ON e.ID = m.post_id
WHERE e.post_type = 'events'
AND m.meta_key = 'startdate'
AND e.post_status = 'publish'
ORDER BY CASE WHEN m.start_date > CURDATE() THEN 0 ELSE 1 END,
CASE WHEN m.start_date > CURDATE() THEN m.start_date END ASC,
CASE WHEN m.start_date <= CURDATE() THEN m.start_date END DESC
LIMIT 10;