eme*_*his 11 wordpress wordpress-theming
我通过为二十二主题编写一个儿童主题来开始新的项目.我很少设计新主题来使用二十二主题中内置的任何选项(例如背景颜色等).那些剩余的选择并没有真正伤害任何东西,但我想摆脱他们,因为他们什么都不做.
问题是主题选项是在父主题的functions.php中声明的,它与子主题的functions.php文件一起加载(而不是代替)(因此我可以删除它们,但它们会在下次升级时返回).
有没有办法从我的孩子主题中删除或禁用这些主题选项?也许是一些"remove_options()"函数的东西?或者可能达到这种效果的东西?换句话说,问题是是否可以删除theme_options而不删除/覆盖添加它们的原始函数.
我肯定有足够的推特,我可以用CSS或javascript隐藏选项......但是来吧.
eme*_*his 13
经过第二轮挖掘......
这很容易!
你可以从这里开始回溯我的步骤,但代码是不言自明的:
add_action( 'init', 'remove_crap' );
function remove_crap() {
remove_custom_image_header();
remove_custom_background();
remove_theme_support('post-formats');
}
Run Code Online (Sandbox Code Playgroud)
您可以在手抄本中查看这些内容.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');
}
Run Code Online (Sandbox Code Playgroud)
在我的例子中,'themes.php'以Appearances菜单为目标,'theme_options'是在Twentyeleven主题中使用的menu_slug.显然,这些参数会根据您正在编辑的菜单或子菜单而有所不同.此页面将指向正确的方向.
ps:这里是如何摆脱你不想使用的父主题的模板: 这对我的确切问题并不重要,但它与那些试图做我正在做的事情的人密切相关并且可能有用.
从子主题中删除父主题中添加的主题支持的正确方法是在调用的after_setup_theme操作中调用remove_theme_support,其优先级低于父项的优先级.
来自子主题的functions.php文件在父主题之前立即调用,因此如果您使用after_setup_theme的默认优先级,则子项的after_setup_theme最终会在父项之前调用,因此最终会删除不存在的您孩子的主题支持,只是从运行after_setup_theme的父项中重新添加.
因此,通过添加优先级较低的子操作,可以确保在父级调用相同操作后调用它.
所以:
// added to child's functions.php
add_action( 'after_setup_theme', 'child_after_setup_theme', 11 );
// Parent theme uses the default priority of 10, so
// use a priority of 11 to load after the parent theme.
function child_after_setup_theme()
{
remove_theme_support('custom-background');
remove_theme_support('custom-header');
remove_theme_support('post-formats');
// ... etc.
}
Run Code Online (Sandbox Code Playgroud)
在二十二主题的情况下,您也可以在您孩子的functions.php中覆盖整个twentyeleven_setup函数,但这是实现此目的的一种相当不明智的方法.
| 归档时间: |
|
| 查看次数: |
11908 次 |
| 最近记录: |