显示所有帖子并根据查看最多的次数对其进行排序

时间:2018-07-03 12:02:20

标签: wordpress

我正在尝试使用wordpress date_query显示查看次数最多的帖子:

if ( get_query_var('paged') ) { $paged = get_query_var('paged'); } else if ( get_query_var('page') ) { $paged = get_query_var('page'); } else { $paged = 1; }
$date_query = [ ['after' => '1 day ago']];
$args = array(
'date_query' => $date_query,
'posts_per_page' => 30,
'meta_key' => 'post_views_count', // I have the counter function and its working.
'orderby' => 'meta_value_num',
'paged' => $paged,
'order' => 'DESC',
);
// The Query
$the_query = new WP_Query( $args );
$temp_query = $wp_query;
$wp_query   = NULL;
$wp_query   = $the_query;

上面的代码仅显示今天发布的查看最多的帖子,但我想显示所有帖子,并显示今天查看最多的帖子作为主要帖子。如果没有新帖子,我想自动显示所有查看最多的帖子。

有没有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用排序查询来实现,请看下面的代码对您有帮助。删除date_query,这将限制在给定日期之内的帖子。

  $query = new WP_Query( 
        array( 
            'meta_key' => 'post_views_count',
            'orderby' => 'meta_value_num',
            'order' => 'DESC',
        ) 
    );