Wie entferne ich eine vorhandene Customizer-Einstellung?


Antworten:


16

Spät zur Party, aber das wird den Trick machen:

$wp_customize->remove_control('blogdescription');

Sie möchten nur dieses Steuerelement entfernen, nicht den gesamten Abschnitt, wie oben vorgeschlagen.


1
Die Einstellung sollte auch entfernt werden: $ wp_customize-> remove_setting ('blogdescription')
mimarcel

Entfernt dies auch alle gespeicherten Werte, die aktuell dort sind? Ich habe ein Problem, bei dem ich vorhandene Einstellungen / Steuerelemente mit vorhandenen Daten löschen möchte, die Daten jedoch weiterhin zurückgerufen werden. wordpress.stackexchange.com/questions/329343/…
Lee

10

Entfernen Sie mit diesem Code eine bereits vorhandene Customizer-Einstellung in WordPress.

Bildbeschreibung hier eingeben

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

Ich fand heraus, dass die WP_Customize_Manager-Klasse eine Funktion namens hat remove_section(). In Ihrer Funktion customize_registerkönnen Sie einfach Folgendes tun:

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

Sie finden die ID des Abschnitts (zB 'nav'), wenn Sie die Akkordeon-Titelleiste des Abschnitts überprüfen. Schauen Sie sich die ID des enthaltenden <li>Tags an und danach den Teil der Zeichenfolge "customize-section-". IE:

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

- die ID ist "static_front_page"


Das sieht besser aus als meine Lösung, also gebe ich dir das Häkchen - ich habe es nicht getestet, aber ich nehme an, du hast ... Ich verstehe zwar nicht die title_tagline - sollte doch static_front_page heißen, ist das ein Tippfehler-BAC?
Byronyasgur

@byronyasgur yep, das war ein Fehler beim Kopieren von Pasta, der jetzt behoben wurde. Vielen Dank!
Jessica

Eigentlich ist das nicht die richtige Antwort. Dadurch wird der gesamte Abschnitt entfernt, der sowohl den Site-Titel als auch die Tagline enthält. Die Frage fragt nur nach dem Slogan. Schauen Sie sich die Antwort unten von @byronyasgur
BFTrick 15.11.12

2

Nach OTTO

Eine letzte Sache, die Sie zu einem Abschnitt hinzufügen können, ist die Option "theme_supports". Dadurch wird das Menü nur angezeigt, wenn das Thema etwas unterstützt. Wenn Sie diesen Code in ein Thema selbst einfügen, wissen Sie bereits, was das Thema unterstützt, sodass es wenig Sinn ergibt. Der Core verwendet dies, um die Header- und Hintergrundoptionen nicht anzuzeigen, wenn das Thema sie nicht unterstützt.

Also habe ich das zusammengestellt mit

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

... und entdeckte, dass der folgende Code funktioniert. Ich habe mich falsefür die theme_supports entschieden. Ich bin mir nicht sicher, was ich wirklich tun soll. Vielleicht kann jemand, der ein bisschen erfahrener ist, dies verbessern.

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

1

Wenn der Abschnitt / die Platte oder der Steuerkern, ist es immer besser, sie zu deaktivieren, anstatt sie zu entfernen.

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
Toller Tipp, ich habe es verwendet, um immer die static_front_page-Einstellung anzuzeigen, auch wenn keine Seite vorhanden ist (standardmäßig wird nur angezeigt, wenn eine Seite auf der Website vorhanden ist)
Larzan

0

Wenn Sie dies in einem Plugin verwenden, sollten Sie ein Prioritätsargument wie 999 verwenden, damit es im Plugin funktioniert.

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

function wpcb_theme_customize_register($wp_customize){
   $wp_customize->get_setting('blogdescription')->transport='postMessage';
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.