第二轮挖后...
这完全是很容易!
您可以通过启动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