WordPress显示文章的阅读次数,支持缓存页面AJAX刷新

WordPress本身不带任何统计功能,如果要统计文章的阅读量并显示,可以借用插件或修改代码来实现。WP-PostViews就是一款帮助统计浏览次数的插件,且简单易用。

WP-PostViews插件地址:https://wordpress.org/plugins/wp-postviews/

如果以上地址无法访问,可以直接从这个链接下载:http://downloads.wordpress.org/plugin/wp-postviews.1.76.1.zip

安装完插件且启用后,在WP-PostViews设置页中可以看到以下界面:

WP-PostViews设置
WP-PostViews设置

WP-PostViews设置页非常的简洁,根据自己需求修改即可。 接下来,将以下代码插入到主题的文件的相关位置,即可显示文章阅读量了。

//文章浏览量,一般插入到archive.php,single.php,post.php或page.php中。
<?php if(function_exists('the_views')) { the_views(); } ?>

如果你实在不知道将这个代码插入到什么位置,以下方式可以在正文顶端或者末尾插入阅读量统计。

//将以下代码添加到当前主题functions.php的最后
function postviews_content_insert( $return = 0 ) {//
	$str.= "<div class='postviews'>";
	if(function_exists('the_views')) {
		$str.= the_views();
	}
	$str.= "</div>";
	if ($return) { return $str; } else { echo $str; }
}
function postviews_content_filter($content) {
	if(!is_feed() && !is_home() && is_singular() && is_main_query()) {
		$content .= postviews_content_insert(0);// 0在正文上面
		//$content .= postviews_content_insert(1);//1在正文下面
	}
	return $content;
}
add_filter('the_content','postviews_content_filter');

如果开启了缓存,例如:WP Super Cache、W3 Total Cache或启用了CDN缓存,则可以用AJAX刷新访问统计。WP-PostViews的最新版目前已经支持缓存统计,只是不会实时刷新访问量,可以通过手动修改 WP-PostViews 插件的 postviews-cache.js 文件来实现。

当开启了 WP Super Cache 之类的插件后, wp-config.php文件中会自动增加以下代码:

define('WP_CACHE', true);

WP-PostViews检测到这行代码后, WP-PostViews设置面板中,会出现“使用 AJAX 更新浏览量”的选项,选择:是。

编辑/wp-content/plugins/wp-postviews/postviews-cache.js文件,替换成以下内容:

 jQuery.ajax({
    type:"GET",
    url:viewsCacheL10n.admin_ajax_url,
    data:"postviews_id="+viewsCacheL10n.post_id+"&action=postviews",
    cache:!1,
    success:function(data) {
        if(data) {
            jQuery('#postviews_lscwp').html('阅读量:'+data);
        }
   }
});

将以下代码插入到主题的文件的相关位置,即可在页面缓存的状态下实时显示文章阅读量了。

<div id="postviews_lscwp">...</div>

效果可以参照本站的阅读量统计。


  • 微信或QQ扫一扫

留下评论