使用WordPress這套框架開發網站,以後端的角色跟前端夥伴合作,下方是一些經驗整理,常用外掛系列,裡面包含了很多組合,並非每個案子都會使用這些工具,根據情況調整與搭配自己或夥伴延伸開發的方式也是不少,但沒有這些工具,開發想必更為困難,感謝社群~
WordPress 的核心架構,從這「型態」出發,延伸出各種內容來從前端顯示。
- Custom Post Type UI 建立新型態的文章內容,用來客製化不同內建文章/頁面的「標題」、「內文」結構形式。
- Advanced Custom Fields 當完成安裝與建立客製化新型態後,會發現那還只是跟內建的文章/頁面結構一樣,只是在後台選單上多了一個新的選項,這時候要搭配這款客製化定義欄位的工具,指定新型態格式,自定義該新型態內容使用哪些欄位。
扯到內容,就會有操作權限的管理,WordPress 在這部分並沒有像其他 CMS 有非常「計較」權限的管理,屬於大方向的命名權限,並針對該命名權限從程式中鎖定,不能說有強硬的限制開發或是使用某種框架(framework),這點既是彈性也是在開發給客戶時要注意的地方。
- User Role Editor 從最基礎的權限(Capabilities)出發,可以配置給單獨的使用者或是角色,介面稍微陽春。
- Members 以角色(Role)出發,設定與編輯角色權限,把功能分類好的編輯界面滿舒適的。
- Groups 群組的概念分配權限,提供群組的模式管理註冊者
三種權限管理類的外掛都有特色,以個人經驗區分使用情境為:客戶用戶數少且變化多適合第一種、用戶數多且單純適合二、三種。
從開發角度來去限制、管理其他自由開發的外掛本來就會造成架構難度提升,所以這個分類的概念就是「疊加」,透過別的外掛來更進階處理其他外掛的不足,真要說為什麼要這麼做,就是為了日後升級的彈性囉!
- Admin Menu Editor 有時候因為要調整出客戶可讀性與方便性高的選單時就會需要他,擁有直接修改選單顯示名稱與排序功能
- Adminimize WP 內建的權限設定沒有針對角色還有更細的增刪修查限制功能,同個權限下的使用者如果有希望不同的操作介面,就會需要使用這外掛去「隱藏」,做一些髒髒der事。
至於更細部的權限微調大部分都是直接coding在子主題下了!
設計頁面(page)會碰到個問題:求速度與精緻常使用一些主題(theme)作為前導,但大部分主題強化前端視覺使用短碼(short code)的方式,其實不適用一般使用者(end-user),常有非單純重複貼文功能的頁面要讓客戶修改的時候,避免客戶誤觸雷區與使用者體驗提升,針對輸入的內容會需要程式化挖空,這點大部分就要透過下面的外掛來搭配了
- Pagely MultiEdit 當頁面中有多個欄位是希望提供給客戶使用時,這套外掛可以做挖空,提供填空的方式修正頁面,其他資源可以參考官方教學
- Custom Post Widget 同樣屬於挖空部分內容提供客戶有固定區域修改文案的功能,結合小工具(widgets)或是自行開發延伸的方式都很方便
- Custom Login 登入後台的樣式客製化,強化客戶歸屬感強化XD
- Customize Login Image 同上,歸屬感強化的換登入介面工具
下面的項目比較偏向綜合來看,大多客戶或開發上會需要的輔助
- Contact Form 7 說到表單一定要用這款
- Contact Form DB 送出去的表單通常是直接寄信到客戶那邊,用這款外掛可以做資料管理
- Event Organiser 客戶公開活動、行程等這類需求也不少,需要的包涵時間地點等資訊也滿完整的
- Another Events Calendar 最近發現的外掛,跟上面有的功能差不多
- Post SMTP Mailer 根據客戶需求,架構簡單的可以使用 SMTP 方式寄信,免費版本就支援 Log 記錄,有問題可以查看。
- Easy WP SMTP 同上差不多類型
- WP Mail SMTP 同上差不多類型
- WP SES 有需要大量發送或是希望更穩定服務的客戶可以推薦使用 Amazon SES 服務
- Mailgun for WordPress 或是使用 MailGun 的介接也滿方便與穩定
- Email Subscribers & Newsletters 免費強大的訂閱系統,適合搜集名單,至於要發有追蹤系統流程類的EDM,還是建議用付費的專業系統,其他資訊可以參考這邊
- MailPoet Newsletters 有搭配 autoresponder 的服務,客戶如有需要整合在網站的專業EDM服務可以使用這款
- WooCommerce Social Login - WordPress plugin 測試過免費的外掛,想改登入成功後的導向不行要硬改、然後混合式登入模式邏輯也有點怪,這款付費一次搞定
- WooCommerce Dynamic Pricing & Discounts 目前套用各種客戶要求的折扣模式都還挺行的外掛
- WooCommerce Extended Coupon Features 免費但也夠強的折扣外掛,組合上也很厲害
- WooCommerce Checkout Field Editor Pro 結帳時的欄位調整
- WooCommerce Checkout Manager 同上,調整結帳欄位時的方便工具
- Custom Related Products for WooCommerce woocommerce預設相關商品會抓取同分類下的所有商品,這外掛可以讓你自訂在前台呈現不同分類的相關商品
WooCommerce光是折扣部份就有很多內容可以寫不完了,但應該不會有一款外掛打趴全部的情況(因為這可能會有很複雜難用的後作用)
- W3 Total Cache 搭配這款外掛也建議從伺服器上跟進,安裝一些快取機制的應用來強化,速度可以大幅提升
- Redis Object Cache Redis 做快取有連續性特性,性能也不錯,可以對付高流量站
- Incapsula 免費CDN的選擇,這款有個Aggressive模式夠強
- Cloudflare 一般般的免費CDN
- Enhanced Media Library 媒體庫管理工具,包含下分類與標籤。
- Warp iMagick Image Compressor + Convert to WebP for WordPress 支援 WebP 與 JPG/PNG 圖片縮圖,全部服務都在外掛內完成,專業的外掛!
- Stop Generating Image Sizes 取消無用途過多的縮圖大小選項
- Force Regenerate Thumbnails 強制重新產生縮圖,可以搭配上面的外掛使用,藉此刪除無用的縮圖
- EWWW Image Optimizer 方便的外掛,功能類似 Warp iMagick Image Compressor,免費版就很夠用了
- TinyMCE Advanced 加強所見即所得編輯介面
- Easing Slider 有些客戶對於輪播圖希望有其他選項時可以使用這款,在開發上的組合也滿棒的
- Add Admin JavaScript 以類權限部分,第一層客製化使用第一、二款外掛沒問題,如要針對功能內頁內的項目修正,除了直接 Hard Code 就是使用 JavaScript 來修正顯示
- Add Admin CSS 同上的處理外掛
- Breadcrumb NavXT 很強大的麵包屑管理工具,通常用來藏一些不該出現的集合頁連結
- Yoast SEO 功能強大、適合進階
- All in One SEO Pack 功能算強、簡單適合客戶
- Shortcodes Ultimate 不同於購買的主題樣板,這外掛提供一些開源實用的短碼(shortcode)可以為進階使用者強化多樣性
- WPML 多國語言的強大外掛,但網站效能會因為他的各種強大功能給導致速度變慢,需搭配伺服器部分評估
- Safe Redirect Manager 雖然轉址這件事我都建議從伺服器上下手,但如果碰到無權限的狀況下,這工具就有不少幫助了
- Transients Manager 管理背景執行程序的好幫手,在網站覺得慢的時候使用它來清理一下
- Heartbeat Control 同上為優化外掛,管理 WordPress AJAX 發生的行為,過多的 AJAX 發生會導致網站執行效率變得很差,相關資訊可以點此參考
- Core Control 管理 WordPress 核心 HTTP 模組 與其他功能的好工具
- Disable All WordPress Updates 當客戶屬於非使用手動安裝的WordPress架構,通常會有個隱藏危險:
自動更新
,開發的網站如有版本相容問題就必須使用這工具,改為手動更新 - Table of Contents Plus 寫文章自動根據
<h1~h6>
來分段落做章節索引,很棒的免費工具 - Query Monitor 觀察WordPress活動與資料庫行為的除錯優化工具
- Akeeba Backup for WordPress 完成開發後的備份轉移有他簡單不少
- Elementor Custom Skin 客製化Elementor列表 結構樣式
其實到這個段落,也就是剩下一些比較特殊案例,通常這些都會用另一種外掛的方式:子主題內的 functions.php 來控制,不過根據使用的主題與常用的組合都太特殊,這邊僅列出每次都會使用的部分!
再來還有 wp-config.php
內會改到的一些控制項
define('WP_MEMORY_LIMIT', '256M');
提升WordPress能夠使用的記憶體資源(常會是購物車或是內建縮圖機制吃資源的主題),可以參考這裡
define('FS_METHOD', 'direct');
修正安裝外掛權限問題,如無法修正資料目錄權限時才使用,但這問題還是從伺服器端下手還是比較好
define('WP_POST_REVISIONS', 3);
限制3個文章版本存取,若改成
false
則是取消版本管理功能
define('DISALLOW_FILE_EDIT',true);
禁止從後台去對程式檔案直接修改功能
define('DISALLOW_FILE_MODS', true);
關閉新增與修改主題外掛檔案