wordpress是如何根据每天的浏览增量而不是所有的浏览量来对文章进行排序的,那么我们这里就需要记录一下每天的浏览量。
首先需要安装一个插件,wordpress 热门帖子。
然后在主题的functions.php中添加如下代码:
function custom_wpp_update_postviews($postid) { // Accuracy: // 10 = 1 in 10 visits will update view count. (Recommended for high traffic sites.) // 30 = 30% of visits. (Medium traffic websites.) // 100 = Every visit. Creates many db write operations every request. $accuracy = 50; if ( function_exists('wpp_get_views') && (mt_rand(0,100) < $accuracy) ) { // Remove or comment out lines that you won't be using!! update_post_meta( $postid, 'views_total', wpp_get_views($postid, 'all', false) ); update_post_meta( $postid, 'views_daily', wpp_get_views($postid, 'daily', false) ); update_post_meta( $postid, 'views_weekly', wpp_get_views($postid, 'weekly', false) ); update_post_meta( $postid, 'views_monthly', wpp_get_views($postid, 'monthly', false) ); } } add_action('wpp_post_update_views', 'custom_wpp_update_postviews');
然后在需要显示热门文章的地方这样调用:
$args = array( 'post_type' => 'post', 'meta_key' => 'views_weekly', 'orderby' => 'meta_value_num', 'order' => 'DESC', 'posts_per_page' => '3', ); $top_posts = new WP_Query($args);
如果你发现添加上面的代码还是不行,那是因为你需要重新计算pageviews,需要将上面的$accuracy的值改为100%。 您只需执行此步骤一次。 完成后,更改 $accuracy
再次。