當(dāng)前位置:首頁(yè)>WordPress建站>后臺(tái)定制>移除WordPress文章/頁(yè)面編輯窗口多余的meta模塊

移除WordPress文章/頁(yè)面編輯窗口多余的meta模塊

我們都知道,WordPress的文章/頁(yè)面編輯窗口附帶了很多功能模塊(Meta Boxes),如下圖所示:

remove-wordpress-meta-boxes-wpdaxue_com

顯示過(guò)多的模塊會(huì)顯得很煩亂,那么如何隱藏或移除這些Meta模塊呢?

隱藏多余模塊

WordPress 給大家提供了一個(gè)“顯示選項(xiàng)”(在窗口的右上角)來(lái)隱藏它們:

0087-wpdaxue_com

去掉勾選,就可以隱藏不需要的模塊。但是這里的設(shè)置只是針對(duì)于當(dāng)前用戶(hù),如果是WordPress多用戶(hù)站點(diǎn),你就要考慮進(jìn)行后臺(tái)定制,從全局上移除不必要的模塊,一來(lái)提高用戶(hù)體驗(yàn),二來(lái)隱藏某些不想為用戶(hù)使用的功能。

移除多余模塊

實(shí)現(xiàn)方法很簡(jiǎn)單,直接根據(jù)自己的需要,將下面的代碼添加到主題的 functions.php 文件中:

// 移除文章編輯界面默認(rèn)的Meta模塊
function remove_my_post_metaboxes() {
remove_meta_box( 'authordiv','post','normal' ); // 作者模塊
remove_meta_box( 'commentstatusdiv','post','normal' ); // 評(píng)論狀態(tài)模塊
remove_meta_box( 'commentsdiv','post','normal' ); // 評(píng)論模塊
remove_meta_box( 'postcustom','post','normal' ); // 自定義字段模塊
remove_meta_box( 'postexcerpt','post','normal' ); // 摘要模塊
remove_meta_box( 'revisionsdiv','post','normal' ); // 修訂版本模塊
remove_meta_box( 'slugdiv','post','normal' ); // 別名模塊
remove_meta_box( 'trackbacksdiv','post','normal' ); // 引用模塊

remove_meta_box( 'categorydiv','post','normal' ); // 分類(lèi)模塊
remove_meta_box( 'formatdiv','post','normal' ); // 文章格式模塊
remove_meta_box( 'submitdiv','post','normal' ); // 發(fā)布模塊
remove_meta_box( 'tagsdiv-post_tag','post','normal' ); // 標(biāo)簽?zāi)K
}
add_action('admin_menu','remove_my_post_metaboxes');

//移除特色圖像模塊
add_action('do_meta_boxes', 'remove_thumbnail_box');
function remove_thumbnail_box() {
    remove_meta_box( 'postimagediv','post','side' );
}

測(cè)試發(fā)現(xiàn),“特色圖像”這個(gè)很特殊,使用 admin_menu 這個(gè) add_action 沒(méi)辦法移除,需要使用 do_meta_boxes 才行。

移除自定義模塊

以上的代碼足夠移除WordPress自帶的Meta模塊了,但是如果是主題或插件創(chuàng)建的Meta模塊,我們又該如何移除呢?比如下面是倡萌的某個(gè)主題的創(chuàng)建的Meta模塊“主題自帶面板”:

0089-wpdaxue_com

要移除這個(gè)模塊,我們需要在瀏覽器中查看這個(gè)頁(yè)面的源代碼,找到這個(gè)模塊對(duì)應(yīng)的ID:

0088-wpdaxue_com

從源代碼可以看到,“主題自帶面板”的ID是 new-meta-boxes,接著在主題中通過(guò) do_meta_boxes 這個(gè)add_action 來(lái)移除:

//移除特定模塊
add_action('do_meta_boxes', 'remove_new_custom_box');
function remove_new_custom_box() {
    remove_meta_box( 'new-meta-boxes','post','normal' );
}

移除頁(yè)面編輯窗口的模塊

上面說(shuō)的都是移除“文章”編輯窗口的模塊,那么如果你想移除“頁(yè)面”編輯窗口的模塊,可以添加下面的代碼到主題的 functions.php 文件中:

// 移除頁(yè)面編輯窗口的模塊
function remove_my_page_metaboxes() {
remove_meta_box( 'postcustom','page','normal' ); // 自定義字段模塊
remove_meta_box( 'postexcerpt','page','normal' ); // 摘要模塊
remove_meta_box( 'commentstatusdiv','page','normal' ); // 評(píng)論模塊
remove_meta_box( 'pageparentdiv','page','normal' ); // 頁(yè)面屬性模塊
remove_meta_box( 'slugdiv','page','normal' ); // 別名模塊
remove_meta_box( 'authordiv','page','normal' ); // 作者模塊
remove_meta_box( 'submitdiv','page','normal' ); // 發(fā)布模塊

}
add_action('admin_menu','remove_my_page_metaboxes');

//移除特色圖像模塊
add_action('do_meta_boxes', 'remove_page_thumbnail_box');
function remove_page_thumbnail_box() {
    remove_meta_box( 'postimagediv','page','side' );
}

上面的代碼就足以移除默認(rèn)的模塊了,如果包含有主題或插件生成的自定義模塊,就請(qǐng)按照前文“移除自定義模塊”來(lái)操作即可。

注:本文中使用到的一個(gè)很重要的函數(shù) remove_meta_box() 包含了 3 個(gè)參數(shù):第一個(gè)參數(shù)是Meta模塊的ID,第二個(gè)參數(shù)是“類(lèi)型”,比如文章就是“post”,頁(yè)面就是“page”,第三個(gè)參數(shù)是“上下文位置”,可選“normal”“advanced”或“side”。

更多詳情,請(qǐng)?jiān)L問(wèn) remove_meta_box()

聲明:本站所有文章,如無(wú)特殊說(shuō)明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書(shū)籍等各類(lèi)媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號(hào) WPDAXUE
后臺(tái)定制

WordPress后臺(tái)主題插件:WP Admin Theme lime

2013-6-3 8:01:49

后臺(tái)定制

WordPress自定義文章編輯頁(yè)面的分類(lèi)和標(biāo)簽Meta模塊標(biāo)題

2013-6-7 9:55:42

9 條回復(fù) A文章作者 M管理員
  1. 后來(lái)發(fā)現(xiàn)按照這個(gè)方法做了之后,插入多媒體/媒體庫(kù)那邊顯示有問(wèn)題

  2. 為什么是admin_menu,而不是do_meta_boxes

    • 我也不知道那么多為啥,只相信測(cè)試結(jié)果,哪個(gè)能用就哪個(gè)

  3. slugdiv 怎么移除不了?

    • 我自己在3.5.1版本測(cè)試過(guò)的,可以移除啊

    • 網(wǎng)站編輯

      不知道,我也是3.51。但輸過(guò)標(biāo)題之后再點(diǎn)編輯蘭.過(guò)yihui那就會(huì)Ajax 出文章地址。我查過(guò)哼多資料,許多老外也遇到了這個(gè)問(wèn)題。求解。

    • 我想你理解錯(cuò)誤了,別名模塊是一個(gè)單獨(dú)的meta模塊,不是那個(gè)Ajax加載的地址。

    • 那個(gè)你說(shuō)的Ajax出現(xiàn)文章地址,是WordPress默認(rèn)的功能,只要你沒(méi)有禁用自動(dòng)保存文章,在你編輯文章的時(shí)候,它會(huì)自動(dòng)保存,然后自動(dòng)提取文章鏈接

    • 網(wǎng)站編輯

      那這玩意該怎么隱藏?求教

?
個(gè)人中心
購(gòu)物車(chē)
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

深圳市| 来宾市| 邵东县| 建水县| 全南县| 岑巩县| 山阳县| 德令哈市| 隆昌县| 永清县| 扬州市| 开原市| 乌兰浩特市| 油尖旺区| 滦平县| 安西县| 黄龙县| 彭州市| 浏阳市| 内乡县| 松阳县| 大同县| 山阴县| 信宜市| 霍林郭勒市| 济宁市| 大城县| 湖南省| 铁岭县| 江安县| 文水县| 鹤山市| 黄大仙区| 博兴县| 和顺县| 田东县| 海安县| 全南县| 金沙县| 富阳市| 葵青区|