Mon thème n'utilise pas le slogan, comment puis-je le supprimer du personnaliseur?
En retard à 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.
Supprimez un paramètre de personnalisateur pré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");
}
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 sa portion après "customize-section-"
. C'EST À DIRE.:
<li id="customize-section-static_front_page" class="control-section customize-section">
- l'ID est "static_front_page"
En accord avec OTTO
Une dernière chose que vous pouvez ajouter à une section est une option "theme_supports". Cela fera apparaître le menu à moins que le thème prenne en charge quelque chose. Si vous placez ce code dans un thème lui-même, vous savez déjà ce que le thème prend en charge, ce qui 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.
Alors je mets ça avec
$wp_customize->get_setting('blogdescription')->transport='postMessage';
... et a découvert que le code suivant fonctionnait. J'ai mis 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é peut améliorer cela.
$wp_customize->add_control('blogdescription')->theme_supports=false;
si la section/le panneau ou le centre 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';
}
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';
}