web-dev-qa-db-fra.com

Trier les messages populaires par vues pour la semaine dernière

J'essaie de trier les publications les plus populaires afin qu'elles soient les plus visitées la semaine dernière, mais cela n'a pas fonctionné. Quelqu'un a une idée de pourquoi cela ne fonctionne pas?

<?php 

$popularpost = new WP_Query( array (

        'posts_per_page'      => 5,
        'ignore_sticky_posts' => 1,
        'meta_key'            => 'sw_post_views_count',
        'orderby'             => 'meta_value_num',
        'order'               => 'DESC',
        'date_query'          => array (
                array (
                        'year' => date( 'Y' ),
                        'week' => date( 'W' ),
                ),
        ),
) );

while( $popularpost->have_posts() ) :
       $popularpost->the_post(); ?>
3
Max

Utilisez strtotime pour comparer les dates.

$start = strtotime('yesterday');
$end = strtotime( '+1 week',$start);

$args = array(
    'posts_per_page' => 5,
    'ignore_sticky_posts' => 1,
    'meta_key' => 'sw_post_views_count',
    'orderby' => 'meta_value_num',
    'order' => 'DESC',
    'date_query' => array(
        'after' => $end,
        'before' => $start,
    ),
);

$popularpost = new WP_Query( $args );

if ( $popularpost->have_posts() ) {

    while ( $popularpost->have_posts() ) {
        $popularpost->the_post();

        // Do your stuffs

    }

} 

Veuillez noter que ceci renverra les messages des 7 derniers jours et non de la semaine dernière.

2
Abhik