国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Wordpress > 正文

為 WordPress 的 Widget 建立緩存

2024-09-07 00:50:38
字體:
來源:轉載
供稿:網友

個人認為 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()方法進行數據緩存.

  1. class Test_Widget extends WP_Widget { 
  2. // 注冊 Widget 
  3. function register() { 
  4. register_widget('Test_Widget'); 
  5. // 構造函數 
  6. function __construct() { 
  7. $widget_ops = array('classname' => 'test_widget''description' => __( '測試掛件') ); 
  8. parent::__construct('test_widget', __('Test Widget'), $widget_ops); 
  9. // Widget 主體輸出 
  10. function widget( $args$instance ) { 
  11. extract( $args ); 
  12. // 如果緩存已經過期,則重新生成結果 
  13. if(false === get_transient($args['widget_id'])) { 
  14.  
  15. // 運行結果緩存 1 小時 
  16. set_transient($args['widget_id'], $data, 3600); 
  17. else { 
  18. echo get_transient($args['widget_id']); 
  19. //...... 
  20. // 保存 Widget 參數 
  21. function update( $new_instance$old_instance ) { 
  22. $instance = $old_instance
  23. // 更新參數時刪除已有的緩存 
  24. delete_transient($this->id); 
  25. //...... 
  26. return $instance
  27. // Widget 設置面板 
  28. function form( $instance ) { 
  29. //...... 
  30. // 下面這個函數是新增加的,用來刪除緩存 
  31. function update_callback($widget_args = 1) { 
  32. // 刪除緩存 
  33. delete_transient($this->id); 
  34. delete_transient($this->id); 
  35. // 調用原來的 update_callback() 方法,防止出錯 
  36. parent::update_callback($widget_args); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陈巴尔虎旗| 五家渠市| 扎囊县| 息烽县| 墨玉县| 淮北市| 会同县| 安丘市| 宝山区| 浮山县| 云阳县| 青海省| 孟津县| 拜泉县| 邯郸市| 扎赉特旗| 新民市| 固始县| 桂阳县| 禹州市| 东安县| 长垣县| 峡江县| 文成县| 望奎县| 明星| 武胜县| 游戏| 大竹县| 山东| 武川县| 衡南县| 且末县| 黎川县| 崇文区| 盈江县| 儋州市| 淳安县| 湘乡市| 永胜县| 合肥市|