第二輪挖後...
這完全是很容易!
您可以通過啓動here折回我的腳步,但代碼是不言自明:
add_action('init', 'remove_crap');
function remove_crap() {
remove_custom_image_header();
remove_custom_background();
remove_theme_support('post-formats');
}
可以在食品中查看這。 Remove_theme_support採用幾個字符串中的一個來標識各種選項(除了後期格式)。我遇到的唯一問題是他們需要從一個鉤子中調用(你不能將它們壓制到functions.php中)。我正在使用init
,但可能有另一個更適用。
我唯一還沒弄清楚的是如何刪除出現在外觀下的「主題選項」頁面鏈接。我知道它已加入add_theme_page()
,但似乎並不方便remove_theme_page()
。
更新:我找到了! 這是非常糟糕記錄,但最終這是很容易做到:
add_action('admin_init', 'remove_twentyeleven_theme_options', 11);
function remove_twentyeleven_theme_options() {
remove_submenu_page('themes.php', 'theme_options');
}
在我的例子,「themes.php」目標的外觀菜單和「theme_options」是twentyeleven主題使用的menu_slug。很明顯,這些參數會根據您正在編輯的菜單或子菜單而有所不同。 This page會指引您正確的方向。
PS:這裏是如何擺脫來自父主題模板,你不想使用: THIS是不是我的確切問題至關重要,但它密切相關的,可能有用的人誰是試圖做我在做什麼。
這兩個建議實際上都不是實現這個目標的「正確」方式 - remove_ *函數都被棄用而不是remove_theme_support,並且init不能調用這些函數 - 應該是在「after_setup_theme」中。 「remove_submenu_page」選項僅隱藏菜單,但實際上並不禁用支持。正確的做法是在after_setup_theme action中使用優先級低於10(即11或更多)的操作來確保它在父級對after_setup_theme的調用之後運行(假定父級主題使用默認優先級10)。我會發佈一個新的答案供參考。 –
謝謝你,SDP。我想知道如果你知道從父主題中刪除* one * option選項卡而不是整個'theme options'面板的方法嗎?我的問題在這裏詳細描述,如果你有時間看看它:http://wordpress.stackexchange.com/questions/138584/how-do-i-remove-a-parents-theme-option-tab-through-孩子主題 – J82