快速導航: SEO培訓 | SEO教程 | PHP培訓 | PHP教程 | 網頁設計培訓 | 辦公自動化培訓
收藏本站 | 設為首頁
當前位置:網站首頁 > 網站建設教程 > 建站知識 > 建站知識

文章存檔插件更新:WP-EasyArchives 3.0

時間:2012-10-22 21:19 | 來源:德曼PHP培訓網 | 作者:德曼小編
WP-EasyArchives 文章存檔插件用于顯示文章存檔列表, 文章以月份分為多個列表。該插件還提供按月份和文章作者進行過濾的功能。 這款插件一直很穩定, 已經兩年沒更新了。 隨著 WordPress 上博客文章漸增,發現存檔頁面加載速度越來越慢。主要原因是文章存檔列表需要遍

WP-EasyArchives 文章存檔插件用于顯示文章存檔列表, 文章以月份分為多個列表。該插件還提供按月份和文章作者進行過濾的功能。 這款插件一直很穩定, 已經兩年沒更新了。

隨著 WordPress 上博客文章漸增,發現存檔頁面加載速度越來越慢。主要原因是文章存檔列表需要遍歷所有文章,并按照月份劃分區塊,后臺處理比較耗時,導致頁面性能不佳。我一拍大腿,優化了插件,并且將JavaScript 全部重寫了。

WordPress 文章存檔插件 - WP-EasyArchives

從界面上, 我們很難看出有什么變化但事實上內在有很多改動, 要不我怎么會直接將版本從 2.0 升至 3.0 呢? 下面我逐一列出。

增加Cache,大幅提升頁面加載速度

在我發布這款插件的之前使用的是 Clean Archives Reloaded, 其實當時所有的文章存檔插件都存在性能問題。 這些插件都使用 2 層循環處理,循環每一個月份,在月份處理內部再循環每一個文章。 這種處理性能明顯是低下的, 千篇文章的博客存檔頁面加載速度可能需要上 10 秒。

WP-EasyArchives插件制作的時候我就考慮到循環文章的性能問題, 當時我換了一種思路, 將 2 層循環改寫成 1 層的循環處理, 已經大幅提升性能。 但這還是不夠, 我現在 500 篇文章, 50 個月份, 后臺處理時間比別的頁面多500到1000 毫秒, 在這么一個連評論的沒有的頁面顯得很不正常。于是我考慮用緩存來處理。

最初的方案是緩存成文件, 為每個作者的所有文章緩存成一個文件。 但因為考慮到緩存成文件可能需要修改服務器的目錄權限, 會增加用戶使用的門檻, 后來決定改成將緩存保存在數據庫, 并且只保存頁面初始化時使用的狀態 (也就是全部月份全部作者的緩存)。 我相信用戶可以接受使用過濾器時因為異步請求產生的等待時間, 畢竟不影響頁面加載, 一兩秒的 loading 時間可以接受的。

WordPress 文章存檔插件緩存處理前后的加載速度對比

當用戶發布,修改和刪除文章時,會自動刷新這個緩存。而打開存檔頁面時不需要去組裝, 直接將內容讀出來, 比顯示文章頁面還要快。上圖是 webpagetest.org 抓到的性能瀑布圖,靠上的圖片是修改前的后臺處理時間, 需要 1 秒多, 而修改后 (靠下的圖片) 處理速度快了起碼700 毫秒,隨著文章數量的增加,這個差距會更加顯著。

切換月份時不發出異步請求

我先要承認以前自己偷懶,以月份和博客作者兩個參數發出異步請求, 頁面上將返回內容顯示出來即可。 事實上, 我們可以減少很多不必要的請求,當博客作者不改變的時候, 月份怎么變也不會影響選中作者的文章列表內容, 這個時候使用 JavaScript 簡單地展示和隱藏文章列表內容就可以做到月份的切換。

因為JavaScript 處理和調用上還有某些不太完善的處理, 所以我干脆將包括原生版本和 jQuery 版本的 JavaScript 全部重寫了。 也將切換月份發出異步請求的問題改掉了。 所以如果使用新版的 WP-EasyArchives 插件, 你會發現切換文章作者會有 loading 狀態,而切換月份則不會。

刪除文章評論數量

以前在文章后方會有個小括號, 小括號里面是一個數字, 用于顯示該文章有多少評論數。 這次改版因為要處理緩存, 不能做成每次評論都刷新緩存。 而且從我自身來說, 這個功能作用不大, 還會影響處理性能和 SEO. 所以我干脆先去掉, 后面的版本再看是否需要這個功能。

不用吐槽了,WP-EasyArchives 3.1 已經加上該功能。

刪除 last 模式

WP-EasyArchives 插件本來包含展示所有 (Expand All), 折疊所有 (Collapse All) 和只展示第一個月份 (Expand Last Month) 三個模式, 其實 last 模式當初設計是我的一廂情愿, 在切換月份的時候會有大量不符合交互邏輯的效果, 所以將其刪除, 我也不用了。

所有本來 “只展示第一個月份” 的設定會自動轉為 “展示所有”。

后話

最近早起晚睡的,很累。但是昨天我一氣呵成將插件改完, 一直弄到晚上 11 點多, 還順便將 WP-RecentComments 插件一個小問題改了一下。 如果對一個事情發自內心地提起了興致, 真的很難以累為借口推脫。

下載地址:WP-EasyArchives插件

文章來源:


關鍵詞:文章,存檔,插件,更新,WP-EasyArchives
分享到:
首頁 | 關于我們 | 課程設置 | 學前須知 | SEO培訓 | 網頁設計培訓 | PHP+MYSQL培訓 | 辦公自動化培訓 | 付款方式 | 聯系我們 CopyRight © 2005-2012 德曼(合肥SEO培訓)學校 — www.294028.tw, All Rights Reserved.
合肥德曼電腦培訓中心所有內容版權所有,未經許可請勿轉載。合肥seo培訓機構網站備案:皖ICP備09018273號
德曼(合肥做seo的公司)專注于【合肥SEO培訓 | 合肥php培訓 | 合肥網頁設計培訓】職業技能培訓!
cba比分结果今天 河内5分彩是诈骗吗 两码中两码中特期期准 福建时时彩开奖记录 dg视讯是真是假 oG真人转盘 106彩票官方网站-点击登陆 吉利平码心水免费论坛ji198 pt电子哪款游戏好玩|Welcome 北京赛车计划软件 辽宁七乐彩基本走势图 电竞传奇 极速飞艇计划软件 千禧p3开机号试机号 亿客隆 韩国快乐8官网下载不了 高频彩票2021年下市