人気の投稿をソートして先週のアクセス数が最も多いように表示しようとしましたが、うまくいきませんでした。それがうまくいかない理由について誰かが考えを持っていますか?
<?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(); ?>
日付を比較するにはstrtotime
を使用してください。
$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
}
}
先週ではなく、過去7日間の投稿が返されることに注意してください。