I have not tested this yet 但计划很快做类似的事情。。
如果要完全删除默认控件,可以使用此代码。通过搜索与您希望在wp includes/class wp customize manager中定位的控件相匹配的正确控件id,可以找到用于替代“display\\u header\\u text”的适当控件id。php
$wp_customize->remove_control(\'display_header_text\');
Display\\u header\\u text是一个复选框,用于切换是否显示网站标题和标语。
如果(例如)在选中display\\u header\\u text时,您想在主题自定义程序中隐藏站点标题文本框控件,则可以执行以下操作。。
if( get_theme_mod( \'display_header_text\' ) !== \'\') {
$wp_customize->remove_control(\'blogname\');
} else {
$wp_customize->add_setting( \'blogname\', array(
\'default\' => \'default_value\',
) );
$wp_customize->add_control( \'blogname\', array(
\'label\' => \'Title\',
\'section\' => \'title_tagline\',
\'type\' => \'text\',
\'priority\' => 1
) );
}
主题定制器将复选框的值存储为数字1(如果选中),如果未选中则为空。因此,上面的代码表示,如果控制是否显示站点标题和副标题的复选框不为空,那么请删除站点标题文本框,这样输入站点标题的选项甚至不可用。但如果复选框为空,则显示文本框。