为 WordPress 的 Widget 建立缓存
发布:smiling 来源: PHP粉丝网 添加日期:2014-04-24 09:56:04 浏览: 评论:0
个人认为 WordPress 的 Widget(小工具)非常的强大,一般的WordPress博客,Widget侧边栏都会用到最新文章、最新评论、友情链接等,对文章之类的进行了缓存,但是侧边栏那?可能很少有人注意到(用静态页面缓存方法除外),为了让你的WordPress站点飞起来,对Widget 建立缓存也是必不可少的,众所周知WP-Cache、WP Super Cache和W3 Total Cache这几款插件都是可以加速网页的显示,也就是对文章之类的页面进行缓存.
今天介绍一款插件,可以缓存WordPress的侧边栏(SideBar),同样起到加速页面显示的作用,wp widget cache这款插件就是对侧栏的widget进行缓存,提高侧栏widget的加载速度,这样就不至于日志加载完还要等待一段时间来加载侧栏widget.
wp widget cache插件功能特点:
支持设定时间更新缓存数据
支持定义促发事件(例如:发布一篇文章)自动更新缓存数据
支持对用户指定的边栏widget进行缓存处理(例如:你可以只缓存最新文章widget,但不缓存随机文章widget)
安装设置简单,无须添加和修改源代码(比WP-Cache安装简单多了)
wp widget cache插件安装:
下载wp widget cache插件,然后解压上传插件到/wp-content/plugins/下的文件夹(通过后台安装也可).
到WordPress管理后台插件页面激活插件,激活后插件后,即可使用.
在后台的管理页面的“设置”-->“WP Widget Cache"中,对这个插件进行相关的设置,如下图:
当然,如果你不想使用插件的话,你也可以参考如下代码直接利用 Widget Class 里的 update_callback()方法进行数据缓存.
- class Test_Widget extends WP_Widget {
- // 注册 Widget
- function register() {
- register_widget('Test_Widget');
- }
- // 构造函数
- function __construct() {
- $widget_ops = array('classname' => 'test_widget', 'description' => __( '测试挂件') );
- parent::__construct('test_widget', __('Test Widget'), $widget_ops);
- }
- // Widget 主体输出
- function widget( $args, $instance ) {
- extract( $args );
- // 如果缓存已经过期,则重新生成结果
- if(false === get_transient($args['widget_id'])) {
- // 运行结果缓存 1 小时
- set_transient($args['widget_id'], $data, 3600);
- } else {
- echo get_transient($args['widget_id']);
- }
- //......
- }
- // 保存 Widget 参数
- function update( $new_instance, $old_instance ) {
- $instance = $old_instance;
- // 更新参数时删除已有的缓存
- delete_transient($this->id);
- //......
- return $instance;
- }
- // Widget 设置面板
- function form( $instance ) {
- //......
- }
- // 下面这个函数是新增加的,用来删除缓存
- function update_callback($widget_args = 1) {
- // 删除缓存
- delete_transient($this->id);
- delete_transient($this->id);
- // 调用原来的 update_callback() 方法,防止出错
- parent::update_callback($widget_args);
- }
- }
Tags: WordPress Widget 建立缓存
相关文章
- ·WordPress初级教程1:什么是博客?(2013-11-11)
- ·WordPress初级教程-2: 什么是WordPress?(2013-11-11)
- ·WordPress初级教程-3: WordPress的功能和特点(2013-11-11)
- ·WordPress初级教程-4: 选择WordPress博客的主机和域名(2013-11-11)
- ·WordPress初级教程-5: 安装WordPress(2013-11-11)
- ·WordPress初级教程-6: 本地安装WordPress(2013-11-11)
- ·WordPress初级教程-7: 一个数据库中安装多个WordPress博客(2013-11-11)
- ·WordPress初级教程-8: WordPress控制面板/ Dashboard(2013-11-11)
- ·WordPress初级教程-9: WordPress用户设置/ Users(2013-11-11)
- ·WordPress初级教程-10: WordPress博客配置/ Settings(2013-11-11)
- ·关于wordpress上传图片不显示的原因(2013-11-11)
- ·WordPress程序的脆弱点你知道吗 (2013-11-11)
- ·总结八大Wordpress网站百度收录实现秒收的方法绝招 (2013-11-11)
- ·WordPress如何网站投稿者也可以上传图片(2014-03-18)
- ·WordPress怎么修改新用户注册邮件内容(2014-03-18)
- ·WordPress怎么添加前台注册功能(2014-03-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)