網站效能提升與介面簡化的 2 種方法 (移除 Metabox)

WordPress 後台介面中,預設有很多功能區域,但部份的功能可能完全不會使用到,而系統通常預設都會載入,有些可能會拖慢網站後台的操作速度並影響網站效能,下面介紹幾個處理方式

所有的代碼都可以直接加入到佈景中的 functions.php (建議在子佈景主題中使用,不要被更新檔案覆蓋)
若你不是工程師,想要直接增加,會建議透過像是 Code Snippets 這種外掛來放置

移除 Metabox 的方法

移除的方法是使用 WordPress 的 remove_meta_box() 來處理,而控制台的部分,主要是讓登入後的介面更簡潔,不過移除編輯文章中自訂欄位的方式,才是本文推薦的重點。

控制台介面 (Dashboard)

WordPress 控制台
WordPress 控制台

移除控制台工具代碼

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 資料表項目較多的網站,有效的提升後台編輯文章介面的載入速度與網站效能(特別是傳統編輯器)

WordPress 資料庫 - wp_postmeta 資料表
WordPress 資料庫 – wp_postmeta 資料表

大部分的使用者,編輯文章時是完全不需要使用自訂欄位的,但因為系統 meta_form() 函數在處理自訂欄位功能時,所做的查詢是蠻消耗效能的。

WordPress meta_form() 的 SQL 查詢 影響網站效能關鍵
WordPress meta_form() 的 SQL 查詢
WordPress 文章編輯畫面 - 自訂欄位 Metabox
WordPress 文章編輯畫面 – 自訂欄位 Metabox

移除自訂欄位的代碼

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

相連文章

臉書留言

一般留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *