Avec la date_query dans wordpress, j'essayais de publier des messages pour la dernière semaine de travail (du lundi au vendredi)
J'utilisais:
$base_array = array(
'posts_per_page' => -1,
'fields' => 'ids',
'post_type' => 'cpt',
'post_status' => array('publish'),
'date_query' => array(
'before' => 'next Saturday',
'after' => 'last Monday'
)
);
$base = get_posts($base_array);
Mais aujourd'hui, un jeudi, renvoie ces valeurs:
Du 31/10/2016 au 28/10/2016
Ce qui est logique avec les "derniers" jours, mais y a-t-il un moyen que je puisse avoir le dernier lundi au vendredi dernier? Peu importe le jour où la requête WP_Query est interrogée.
Eh bien, essayez le code ci-dessous
$base_array = array(
'posts_per_page' => -1,
'fields' => 'ids',
'post_type' => 'cpt',
'post_status' => array('publish'),
'date_query' => array(
'after' => strtotime( 'previous week Monday' ),
'before' => strtotime( 'previous week Friday' )
)
);
$base = get_posts($base_array);
Je ne l'ai pas testé. Mais j'ai testé que le code ci-dessous renvoie la date parfaite
date('Y-m-d',strtotime('previous week Monday'));
date('Y-m-d',strtotime('previous week Friday'));
Il retourne-
2016-10-24 et 2016-10-28