How can I paginate this monter?
-
I needed to put together this custom query to display events on a client’s website. Everything is working perfectly, but I haven’t a clue how to paginate the results. Could somebody please help a fellow out with this? Any pointers are greatly appreciated.
$query = “
SELECT *,
m1.meta_value AS start_date,
IF( m2.meta_value=0, m1.meta_value, m2.meta_value ) as last_day
FROM {$wpdb->prefix}posts
INNER JOIN {$wpdb->prefix}postmeta m1
ON ( {$wpdb->prefix}posts.ID = m1.post_id )
INNER JOIN {$wpdb->prefix}postmeta m2
ON ( {$wpdb->prefix}posts.ID = m2.post_id )
WHERE {$wpdb->prefix}posts.post_type = ‘events’
AND {$wpdb->prefix}posts.post_status = ‘publish’
AND ( m1.meta_key = ‘_startdate’ AND m1.meta_value)
AND ( IF( m2.meta_value=0, m1.meta_value, m2.meta_value ) > DATE_FORMAT( NOW(), ‘%Y%m%d%H%i’) )
AND ( m2.meta_key = ‘_enddate’ AND m2.meta_value >= ‘0’ )
GROUP BY {$wpdb->prefix}posts.ID
ORDER BY start_date
ASC;
“;$events = $wpdb->get_results( $query, OBJECT );
if ( $events ) : foreach ( $events as $post ) : setup_postdata( $post );
…
- The topic ‘How can I paginate this monter?’ is closed to new replies.