好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

为 WordPress 的 Widget 建立缓存 - WordPress

为 WordPress 的 Widget 建立缓存

个人认为 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 );  }  } 

查看更多关于为 WordPress 的 Widget 建立缓存 - WordPress的详细内容...

  阅读:52次