Comment supprimer un paramètre de personnalisation préexistant?


Réponses:


17

Tard dans la soirée 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.


1
Le paramètre doit également être supprimé: $ wp_customize-> remove_setting ('blogdescription')
mimarcel

Cela supprimera-t-il également toute valeur stockée actuellement? J'ai un problème où je veux supprimer les paramètres / contrôles existants qui ont des données existantes, mais les données sont toujours rappelées. wordpress.stackexchange.com/questions/329343/…
Lee

10

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

entrez la description de l'image ici

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

}

5

J'ai découvert que la classe WP_Customize_Manager a une fonction appelée remove_section(). Dans votre fonction accrochée, customize_registervous 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 accordéon de la section. Regardez l'ID de la <li>balise contenant et c'est la partie de la chaîne 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"


Cela semble mieux que ma solution, donc je vais vous donner la coche - je ne l'ai pas testée mais je suppose que vous l'avez ... Je ne reçois pas le title_tagline cependant - cela devrait sûrement dire static_front_page, est-ce une faute de frappe BAC?
byronyasgur

@byronyasgur yep, c'était une erreur de copie des pâtes, corrigée maintenant. Merci!
jessica

En fait, ce n'est pas la bonne réponse. Cela supprime la section entière qui contient à la fois le titre du site et le slogan. La question ne demande que le slogan. Regardez la réponse ci-dessous par @byronyasgur
BFTrick

2

Accor à 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 ne 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, donc cela n'a pas beaucoup de 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 découvert que le code suivant fonctionnait. Je mets falsepour le theme_supports ... je ne sais pas ce que je devrais vraiment mettre ... peut-être que quelqu'un un peu plus expert peut améliorer cela.

    $wp_customize->add_control('blogdescription')->theme_supports=false;

1

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

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';
}

1
Très bon conseil, je l'ai utilisé pour toujours afficher le paramètre static_front_page, même s'il n'y a pas de page (par défaut, il ne s'affiche que lorsqu'une page existe sur le site)
Larzan

0

Si vous l'utilisez 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';
}
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.