web-dev-qa-db-fra.com

Recevoir des messages pour la dernière semaine de travail dans WP_Query

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.

1

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

1
CodeMascot