Как удалить ранее существовавший параметр настройки?
В моей теме не используется строка тега, как я могу удалить ее из настройщика?
6 answers
Опоздал на вечеринку, но это сделает свое дело:
$wp_customize->remove_control('blogdescription');
Вы хотите удалить только этот элемент управления, а не весь раздел, как было предложено выше.
Удалите предварительную настройку настройщика в теме wordpress с помощью этого кода.
add_action( "customize_register", "ruth_sherman_theme_customize_register" );
function ruth_sherman_theme_customize_register( $wp_customize ) {
//=============================================================
// Remove header image and widgets option from theme customizer
//=============================================================
$wp_customize->remove_control("header_image");
$wp_customize->remove_panel("widgets");
//=============================================================
// Remove Colors, Background image, and Static front page
// option from theme customizer
//=============================================================
$wp_customize->remove_section("colors");
$wp_customize->remove_section("background_image");
$wp_customize->remove_section("static_front_page");
}
Я узнал, что класс WP_Customize_Manager имеет функцию под названием remove_section()
. В вашей функции, подключенной к customize_register
, вы можете просто сделать:
$wp_customize->remove_section('nav');
$wp_customize->remove_section('static_front_page');
Вы можете найти идентификатор раздела (т.Е. "навигатор"), если посмотрите на строку заголовка аккордеона раздела. Посмотрите на идентификатор содержащего тега <li>
, и это часть строки после "customize-section-"
. Т.Е.:
<li id="customize-section-static_front_page" class="control-section customize-section">
-- идентификатор равен "static_front_page"
В соответствии с ОТТО
Последнее, что вы можете добавить в раздел, - это опция "theme_supports". Это приведет к тому, что меню не появится, если тема что-то не поддерживает. Если вы помещаете этот код в саму тему, то вы уже знаете, что поддерживает тема, поэтому в этом нет особого смысла. Ядро использует это, чтобы не показывать параметры заголовка и фона, если тема их не поддерживает.
Поэтому я объединил это с
$wp_customize->get_setting('blogdescription')->transport='postMessage';
... и обнаружил, что следующий код работает. Я вставил false
для темы_поддержки... не уверен, что мне действительно следует вкладывать... может быть, кто-то более опытный сможет улучшить это.
$wp_customize->add_control('blogdescription')->theme_supports=false;
Если раздел/панель или ядро управления, всегда лучше отключить их вместо удаления.
add_action( 'customize_register', 'wp_stackexchange_58932' );
function wp_stackexchange_58932($wp_customize){
$wp_customize->get_section( 'static_front_page' )->active_callback = '__return_false';
$wp_customize->get_section( 'custom_css' )->active_callback = '__return_false';
}
Если вы используете это в плагине, вы должны использовать аргумент приоритета, например 999, и он будет работать в плагине.
add_action( "customize_register","wpcb_theme_customize_register",999,1);
function wpcb_theme_customize_register($wp_customize){
$wp_customize->get_setting('blogdescription')->transport='postMessage';
}