Como removo uma configuração de personalizador pré-existente?

11

Meu tema não usa o slogan, como posso removê-lo do personalizador?

    
por byronyasgur 19.07.2012 / 00:03

6 respostas

15

Tarde da festa, mas isso fará o truque:

$wp_customize->remove_control('blogdescription');

Você deseja remover apenas esse controle, e não a seção inteira, conforme sugerido acima.

    
por Natko 12.02.2013 / 13:50
8

Remova uma configuração do personalizador pré-existente no tema do wordpress com este código.

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");

}
    
por krupal patel 06.05.2015 / 19:26
5

Descobri que a classe WP_Customize_Manager possui uma função chamada remove_section() . Em sua função conectada a customize_register , você pode simplesmente fazer:

    $wp_customize->remove_section('nav');
    $wp_customize->remove_section('static_front_page');

Você pode encontrar o ID da seção (por exemplo, 'nav') se você inspecionar a barra de título do acordeão da seção. Veja o ID da tag <li> contendo e é a parte da string após "customize-section-" . I.E.:

<li id="customize-section-static_front_page" class="control-section customize-section">

- o ID é "static_front_page"

    
por jessica 24.08.2012 / 00:42
2

De acordo com OTTO

  

Uma última coisa que você pode adicionar a uma seção é a opção "theme_supports".   Isso fará com que o menu não apareça, a menos que o tema suporte   alguma coisa. Se você está colocando este código em um tema em si, então você   já sabe o que o tema suporta, por isso não faz muito sentido.   O núcleo usa isso para não mostrar as opções de cabeçalho e plano de fundo se   o tema não os suporta.

Então eu coloquei isso junto com

    $wp_customize->get_setting('blogdescription')->transport='postMessage';

... e descobriu que o código a seguir funcionou. Eu coloquei false para o theme_supports ... não tenho certeza do que eu realmente deveria estar colocando ... talvez alguém um pouco mais experiente possa melhorar isso.

    $wp_customize->add_control('blogdescription')->theme_supports=false;
    
por byronyasgur 19.07.2012 / 00:08
0

Se você estiver usando isso em um plugin, você deve usar o argumento de prioridade como 999 e ele funcionará no plugin.

add_action( "customize_register","wpcb_theme_customize_register",999,1);    

function wpcb_theme_customize_register($wp_customize){
   $wp_customize->get_setting('blogdescription')->transport='postMessage';
}
    
por Ravi Shakya 19.09.2016 / 17:33
0

se a seção / painel ou núcleo de controle, é sempre melhor desativá-los no lugar da remoção.

add_action( "customize_register","wp_stackexchange_58932");
function wp_stackexchange_58932(){
    $wp_customize->get_section( 'static_front_page' )->active_callback = '__return_false';
    $wp_customize->get_section( 'custom_css' )->active_callback = '__return_false';
}
    
por Prafulla Kumar Sahu 21.02.2017 / 16:48