Comment puis-je supprimer un paramètre de personnalisateur préexistant?

11

Mon thème n'utilise pas le slogan, comment puis-je le supprimer de la personnalisation?

    
posée byronyasgur 19.07.2012 - 00:03

6 réponses

15

En retard pour la fête mais cela fera l'affaire:

$wp_customize->remove_control('blogdescription');

Vous souhaitez supprimer uniquement ce contrôle, pas la section entière comme suggéré ci-dessus.

    
réponse donnée Natko 12.02.2013 - 13:50
8

Supprimez un paramètre de personnalisation existant dans le thème wordpress avec ce code.

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

}
    
réponse donnée krupal patel 06.05.2015 - 19:26
5

J'ai découvert que la classe WP_Customize_Manager avait une fonction appelée remove_section() . Dans votre fonction accrochée à customize_register , vous pouvez simplement faire:

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

Vous pouvez trouver l'ID de la section (c'est-à-dire 'nav') si vous inspectez la barre de titre de l'accordéon de la section. Examinez l'ID de la balise contenant <li> et la portion de chaîne après "customize-section-" . I.E.:

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

- l'ID est "static_front_page"

    
réponse donnée jessica 24.08.2012 - 00:42
2

Adhésion à OTTO

  

Une dernière chose que vous pouvez ajouter à une section est l’option «theme_supports».   Le menu n'apparaîtra que si le thème le permet.   quelque chose. Si vous placez ce code dans un thème lui-même, vous devez   Vous savez déjà ce que le thème prend en charge, cela n’a donc aucun sens.   Le noyau l'utilise pour ne pas afficher les options d'en-tête et d'arrière-plan si   le thème ne les prend pas en charge.

Je mets donc cela ensemble avec

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

... et a découvert que le code suivant fonctionnait. Je mets false dans les supports de thème ... je ne suis pas sûr de ce que je devrais vraiment mettre dans ... peut-être qu'un expert un peu plus expérimenté pourra améliorer ce point.

    $wp_customize->add_control('blogdescription')->theme_supports=false;
    
réponse donnée byronyasgur 19.07.2012 - 00:08
0

Si vous utilisez ceci dans un plugin, vous devez utiliser un argument de priorité comme 999 et cela fonctionnera dans le 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';
}
    
réponse donnée Ravi Shakya 19.09.2016 - 17:33
0

si la section / le panneau ou le noyau de contrôle, il est toujours préférable de les désactiver au lieu de les supprimer.

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';
}
    
réponse donnée Prafulla Kumar Sahu 21.02.2017 - 16:48

Lire d'autres questions sur les étiquettes