web-dev-qa-db-fra.com

Récupérer les messages de la semaine en cours

J'essaie de récupérer les messages de la semaine en cours.

<?php 
    $args = array(
        'date_query' => array(
            array(
                'year' => date( 'Y' ),
                 'week' => date( 'W' ),
            ),
        ),
        'post_type' => 'stars', 'posts_per_page' => 99, 'order' => 'DEC',
    );
    $loop = new WP_Query( $args );
?>

Ce code récupère les publications de du lundi au dimanche (le jour de début de ma semaine est "lundi" dans les paramètres généraux.) Mais lorsque j'ai changé la date de début de semaine en " Sunday "dans les paramètres généraux, le code ci-dessus ne récupère aucun message.

J'ai fait référence à ce codex et cela me conduit à cette fonction MySQL . Mais je ne sais pas comment implémenter cela dans ma requête.

Des idées?

1
Libin

Tu peux essayer:

'date_query' => array(
    array(
        'year' => date( 'Y' ),
        'week' => strftime( '%U' ),
    ),
 ),

%U est:

Numéro de semaine de l'année donnée, en commençant par le premier dimanche comme première semaine

ou

'date_query' => array(
    array(
        'after' => strtotime( 'last Sunday' ),
    ),
 ),
2
birgire

C'est peut-être parce qu'une nouvelle semaine a été lancée et que WordPress tente d'obtenir des publications de dimanche dernier (hier) à samedi.

Pourquoi n'essayez-vous pas plutôt de récupérer les 7 derniers jours? Comme ça.

$args = array(
    'date_query' => array(
        array(
            'column' => 'post_date_gmt',
            'after' => '7 days ago'
        )
    ),
    'post_type' => 'stars',
    'posts_per_page' => '99',
    'order' => 'DEC',
    'ignore_sticky_posts' => 1
);

$new_query = new WP_Query ( $args );
0
Robert hue