解决使用 cos-html-cache 静态化之后阅读浏览次数的问题
最近访问量增大让我意识到需要做一做静态化,经过比较之后发现 cos-html-cache 非常好,但是遇到一个问题,启用该插件之后浏览次数无法更新了,一直停留在那里,网上搜了一下建议使用 WP-PostViews JS 版本,但是我不想如此简单的功能不值得再安装一个插件,找了这么多天,终于找到一篇文章:WordPress利用Ajax实现文章浏览次数统计代码。
根据作者的文章做做修改。
直接修改主题,先找到 functions.php 函数文件,直接在后面加入下面的代码:
function Bing_statistics_visitors( $cache = false ){
global $post;
$id = $post-
if( $cache ) $id = $_GET[id];
if( ( !is_singular() !$cache ) || !$id ) return;
if( WP_CACHE !$cache ){
echo script type="text/javascript" window.onload=function(){var e=null;window.XMLHttpRequest?e=new XMLHttpRequest:e=new ActiveXObject("Microsoft.XMLHTTP"),e.open("GET"," . admin_url( admin-ajax.php ) . ",!0),e.send("action=visitors id= . $id . ")} /script
return;
}
$post_views = (int) get_post_meta( $id, views, true );
if( !update_post_meta( $id, views, ( $post_views + 1 ) ) ) add_post_meta( $id, views, 1, true );
}
add_action( wp_head, Bing_statistics_visitors );
//解决缓存问题
function Bing_statistics_cache(){
Bing_statistics_visitors( true );
}
add_action( wp_ajax_nopriv_visitors, Bing_statistics_cache );
add_action( wp_ajax_visitors, Bing_statistics_cache );
//获取计数
function Bing_get_views( $get = true ){
global $post;
$views = number_format( (int) get_post_meta( $post- ID, views, true ) );
if( $get ) return $views;
echo $views;
}
然后在需要显示浏览次数的模板,主要 sing.php 和 index.php 适当的位置添加以下代码(用 Bing_get_views() 函数获取或输出数量):
?php echo Bing_get_views(); ?
或者
?php Bing_get_views( false ); ?
OK,就是这么简单!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/32079.html
相关文章
- HTML入门教程_html代码基础
- 怎么html文字下划线,HTML怎么设置下划线?html文字加下划线方法
- HTML添加背景图片_html背景图片铺满网页
- dlopen静态库_opensubwnd脚本函数的作用
- 【说站】c语言中static修饰局部静态变量
- 用html设计一个动漫网站_HTML一个介绍的页面代码
- 什么是静态代理和动态代理,两者的区别(笔记)
- static声明静态外部类_static静态变量的理解
- 静态彩虹页面(html、css)
- 抽丝剥茧C语言(高阶)静态通讯录
- 购买后的静态IP代理如何在各个环境下设置使用?(教程)
- AppShark:一款针对Android应用程序的静态分析与漏洞扫描框架
- 【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 查找子弹数据的动态地址 | 查找子弹数据的静态地址 | 静态地址分析 | 完整流程 ) ★
- 将JSP输出成静态html页面详解编程语言
- SpringMVC中避免拦截css,js,html图片等静态文件详解编程语言
- 使用静态内部类实现单例设计模式详解编程语言
- Linux调用C静态库的简易方法(linux调用c静态库)
- Linux调用静态库:精准解决方案(linux调用静态库)
- Linux静态库:更新你的版本(Linux静态库版本)
- 查看 Linux 系统静态库的方法(linux静态库查看)
- 标签使用MySQL过滤HTML标签(mysql过滤html)
- HTML <html> 标签
- 使用MySQL和HTML打造高效的数据驱动网站(mysql与html)
- Linux环境实现HTML文件编辑(linux编辑html)
- MySQL数据库中如何存储和检索带有HTML标签的文本(mysql中html标签)
- HTML 操作 Oracle 数据库的实现(html调用oracle)
- js静态HTML表格排序功能实现
- 通用PHP动态生成静态HTML网页的代码
- PHP定时自动生成静态HTML的实现代码
- 使用ASP.NET模板生成HTML静态页面的五种方案