2016-03-25 92 views
0

我碰上試圖讓remove_meta_box問題()工作WordPress的remove_meta_box問題

/** remove metabox for catchkathmandu options 
    */ 
    function vpm_remove_meta_box() { 
     remove_meta_box('catchkathmandu-options', 'post', 'normal'); 
     remove_meta_box('authordiv' , 'page' , 'normal'); //removes author 
    } 
    add_action('add_meta_boxes', 'vpm_remove_meta_box'); 

關鍵是我不想貢獻者和作者編輯的網站設計,所以我想刪除catchkathmandu選項。代碼顯然不能反映條件,這個函數的代碼爲這個代碼提供瞭解決方案,但是這個代碼在besic的步驟,仍然沒有工作 - 我切換回Twenty Sixteen主題,並把它放在authordiv部分來測試。但仍然沒有骰子。

它添加到子主題的functions.php

我是否採取了錯誤的路徑和我我在錯誤的東西完全看?

任何幫助表示讚賞!

回答

1

我想你正在使用一個叫做「Catch katHmandu」的主題,並且你想除了管理員以外的每個人都刪除一個元框。

這裏是去除元框的使用:

remove_meta_box($id, $page, $context); 

而且對食品的參考:https://codex.wordpress.org/Function_Reference/remove_meta_box

正如你可以在抄本閱讀,$ id是div的當前的ID你想刪除。比方說,您要刪除「標籤框」,如果找其容器的id,你會發現:

<div id="tagsdiv-post_tag" class="postbox"> 
    ... 
</div> 

如果你想刪除的標籤元框,你的代碼看起來就像這樣:

if (!is_admin()) : 
    function my_remove_meta_boxes() { 
    remove_meta_box('tagsdiv-post_tag', 'page', 'normal'); 
    } 
    add_action('admin_menu', 'my_remove_meta_boxes'); 
endif; 

尋找你想刪除的元框的ID,並用你的ID從上面的代碼中移除「tagdiv-post_tag」

如果你喜歡我的回答,點擊頂部的箭頭,作爲一個編碼器,這對我來說意味着很多。謝謝!

編輯:

由於@AndrewSeabrook說,請嘗試使用admin_menu掛鉤,而不是在你的函數add_meta_boxes

+0

不會這樣做!我清楚地說過,我已經將authordiv用於測試目的,並按照https://developer.wordpress.org/reference/functions/remove_meta_box/上的常規做法完成,函數語法與我用過的相同 - 我不知道它是否適用於其他編號的主題選項,但是 - 沒有這個作者框也沒有工作。 –

+0

@AndrewSeabrook - 這個答案包含了你的解決方案的所有部分。首先,**你用錯誤的鉤子**調用你的函數。您正在使用'add_meta_boxes' - 文檔(以及所有優秀示例,包括此答案)正在使用'admin_menu'掛鉤。這個答案並不一定能完全給你你所要求的東西,但它實際上給了你更多*,以及你需要的所有東西。 –