I have a site I run which shows the weddings and anniversaries of some friends.
I have this running to show the users (and their anniversaries) according to what month it is:
$args = array(
'meta_key' => 'anniversary_date',
'meta_value' => 0,
);
$user_query = new WP_User_Query( $args );
$users = $user_query->get_results();
foreach( $users as $user ):
echo $user->display_name;
echo ' will be celebrating their anniversary on ';
echo get_user_meta( $user->ID, 'anniversary_date', true );
endforeach;
function anniversary_user_query( $query ){
if( $query->query_vars['meta_key'] == 'anniversary_date' && $query->query_vars['meta_value'] === 0 ):
global $wpdb;
$thismonth = date('m');
$query->query_where = "WHERE 1=1 AND ( $wpdb->usermeta.meta_key = 'anniversary_date' AND ( MONTH( $wpdb->usermeta.meta_value ) = $thismonth ) )";
endif;
return $query;
}
add_action( 'pre_user_query', 'anniversary_user_query' );
The dates in my database are structured like YYYY-MM-DD.
How can I sort the dates that will appear on the page so that they are ordered from earliest in the month (by day) to latest?
Thanks