我也有同样的问题。我已多次搜索此问题。但我找不到解决办法。
获取过去2天浏览次数最多的帖子,不要获取过去2天的帖子
我有一个名为“wp\\u popularpostssummary”的表。
结果将是
因此,通过使用以下自定义查询从该表中获取结果postids
$results = $wpdb->get_results($wpdb->prepare(\'SELECT postid,COUNT(*) AS qy FROM `wp_popularpostssummary` WHERE `view_date` BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 1 WEEK) AND CURRENT_DATE() GROUP BY postid ORDER BY qy DESC\'));
查询结果将是过去一周查看次数最多的帖子的帖子id。然后使用以下foreach循环来获取post id
$pids = [];
$results = json_decode(json_encode($results), true);
foreach ($results as $result) {
foreach ($result as $k => $v) {
if($k == \'postid\'){
array_push($pids, $v);
}
};
}
最后,使用post id获取post详细信息。代码如下
$args = array(
\'post_type\' => \'post\',
\'post_status\' => \'publish\',
\'posts_per_page\' => \'10\',
\'orderby\' => \'post__in\',
\'post__in\' => $pids
);
$query = new WP_Query( $args ); if ( $query->have_posts() ) {
// The Loop
while ( $query->have_posts() ) { //code here
}
}
根据需要更改日期持续时间。我希望这将有助于任何人在功能<如果有疑问,请告诉我。