J'ai un type de message personnalisé qui est un événement.
J'essaie d'interroger ces événements et de ne renvoyer que les événements du mois en cours ou plus tard. Donc, l'événement pourrait être dans le passé, mais il doit être dans le même mois. La date de l'événement est un champ personnalisé.
Donc, pour le moment, je ne voudrais que des événements qui ont eu lieu au mois d’août ou plus tard, et aucun événement avant le mois d’août.
Voici ma requête actuelle, du plus ancien au plus récent:
$custom_post_type = 'event';
$args = array(
'post_type' => $custom_post_type,
'post_status' => 'publish',
'meta_key' => 'event_date_and_time',
'orderby' => 'meta_value_num',
'order' => 'ASC',
'posts_per_page' => -1
);
$events = get_posts($args);
Vous pouvez utiliser meta_query
si vos informations de date sont enregistrées dans un champ personnalisé. Comme ça:
$args = array(
'post_type' => $custom_post_type,
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'event_date_and_time',
'value' => current_time('Ymd'),
'compare' => '>='
)
),
'orderby' => 'meta_value_num',
'order' => 'ASC'
);
Ce code suppose que la date est enregistrée au format AAAAMMJJ (20150820). Et cela montre les messages d’aujourd’hui à l’avenir, vous devrez donc remplacer value
par "premier jour du mois en cours".
Utilisez l'argument meta_query
dans le tableau.
$custom_post_type = 'event';
$args = array(
'post_type' => $custom_post_type,
'post_status' => 'publish',
'meta_key' => 'event_date_and_time',
'orderby' => 'meta_value_num',
'order' => 'ASC',
'posts_per_page' => -1
'meta_query' => array(
array(
'key' => 'event_date_and_time',
'value' => date("Y-m-1"); // starting from 1st of current month. This will change based on how you store dates.
'compare' => '>=',
'type' => 'NUMERIC,' // Let WordPress know we're working with numbers
)
)
);
$events = get_posts($args);