網站效能提升與介面簡化的 2 種方法 (移除 Metabox)
WordPress 後台介面中,預設有很多功能區域,但部份的功能可能完全不會使用到,而系統通常預設都會載入,有些可能會拖慢網站後台的操作速度並影響網站效能,下面介紹幾個處理方式
所有的代碼都可以直接加入到佈景中的 functions.php (建議在子佈景主題中使用,不要被更新檔案覆蓋)
若你不是工程師,想要直接增加,會建議透過像是 Code Snippets 這種外掛來放置
移除 Metabox 的方法
移除的方法是使用 WordPress 的 remove_meta_box() 來處理,而控制台的部分,主要是讓登入後的介面更簡潔,不過移除編輯文章中自訂欄位的方式,才是本文推薦的重點。
控制台介面 (Dashboard)
移除控制台工具代碼
add_action( 'wp_dashboard_setup', function() {
// 移除網站概況
remove_meta_box( 'dashboard_right_now', 'dashboard', 'normal' );
// 移除快速草稿
remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' );
} );
P.s. 其他的工具移除可以直接參考這裡
文章編輯介面 – 自訂欄位 (postcustom Metabox)
在 WordPress 4.3 之後,其實 wp_postmeta 的 meta_key 字元索引已經從 255 改為 191,不過欄位本身長度沒有被更新,所以查詢的速度上會差很多,這個處理可以針對 wp_postmeta 資料表項目較多的網站,有效的提升後台編輯文章介面的載入速度與網站效能(特別是傳統編輯器)
大部分的使用者,編輯文章時是完全不需要使用自訂欄位的,但因為系統 meta_form() 函數在處理自訂欄位功能時,所做的查詢是蠻消耗效能的。
移除自訂欄位的代碼
add_action( 'admin_menu', function() {
foreach ( get_post_types( '', 'names' ) as $post_type ) {
remove_meta_box( 'postcustom' , $post_type , 'normal' );
}
} );
參考資料
WordPress Code Reference remove_meta_box
How to Remove Unwanted Meta Boxes in WordPress
臉書留言
一般留言