如何从子主题的父主题中删除定制选项?

时间:2019-07-09 作者:Matthew Brown aka Lord Matt

假设有一个您喜欢的主题,但您希望进行一些更改。您创建了一个儿童主题。如果你听从好的建议,至少你会这样做。现在你有了一个儿童主题。您对此感到满意,并希望与他人分享。只有一个小问题——定制器中的一个控件与您所做的更改毫无意义。

如何使来自父主题的定制器控件对于子主题消失?

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

documentation:

要添加、删除或修改任何自定义程序对象,并访问自定义程序管理器,请使用customize_register 挂钩:

function themeslug_customize_register( $wp_customize ) {
  // Do stuff with $wp_customize, the WP_Customize_Manager object.
}
add_action( \'customize_register\', \'themeslug_customize_register\' );
Customizer Manager为每个Customizer对象类型提供add\\u、get\\u和remove\\u3种方法;每个都使用一个id。get\\uMethods允许在添加控件时直接修改指定的参数。

add_action(\'customize_register\',\'my_customize_register\');
function my_customize_register( $wp_customize ) {
  $wp_customize->add_panel();
  $wp_customize->get_panel();
  $wp_customize->remove_panel();

  $wp_customize->add_section();
  $wp_customize->get_section();
  $wp_customize->remove_section();

  $wp_customize->add_setting();
  $wp_customize->get_setting();
  $wp_customize->remove_setting();

  $wp_customize->add_control();
  $wp_customize->get_control();
  $wp_customize->remove_control();
}
因此,在您的情况下,可以使用WP_Customize_Manager::remove_control().

十九世纪主题示例:

function my_theme_customize_register( $wp_customize ) {
    // Remove the Colors -> Primary Color option.
    $wp_customize->remove_control( \'primary_color\' );
}
add_action( \'customize_register\', \'my_theme_customize_register\', 11 );

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register