Veröffentlicht am Schreib einen Kommentar

Beschreibungstexte in Customizer-Abschnitten anpassen

Ein Kunde wünschte sich, die Beschreibungstexte für das zusätzliche CSS im Customizer zu verändern. Da ich auf meiner Suche dazu nichts fand, möchte ich einmal hier niederschreiben, wie das funktioniert. Denn obwohl WordPress für sehr viele Stellen eine Filterung und damit eine Veränderung des Inhalts ermöglicht, gibt es dabei auch Ausnahmen. So wie in diesem Fall.

Letztendlich musste ich den gesamten Bereich des zusätzlichen CSS entfernen und neu hinzufügen. Das geht mit folgendem Code:

/**
 * Custom Customizer descriptions.
 * 
 * @param	WP_Customize_Manager	$wp_customize Theme Customizer object
 */
function my_customizer_descriptions( $wp_customize ) {
	$custom_css_section = $wp_customize->get_section( 'custom_css' );
	$custom_css_section->description .= '<p>My Description</p>';

	// replace custom CSS section to apply new description
	unset( $custom_css_section->manager );
	unset( $custom_css_section->id );
	$wp_customize->remove_section( 'custom_css' );
	$wp_customize->add_section( 'custom_css', (array) $custom_css_section );
}

add_action( 'customize_register', 'my_customizer_descriptions' );

Zur Erklärung:
In Zeile 7 speichere ich mir den aktuellen Bereich des zusätzlichen CSS ab und erweitere dessen Beschreibung um die von mir definierte. Hier wäre natürlich auch eine komplette Ersetzung möglich.
Um unnötige Inhalte beim erneuten Hinzufügen des Bereichs nicht an die Methode später übergeben zu müssen, entferne ich die Eigenschaft manager aus dem gespeicherten Bereich in Zeile 11.
Da die ID sowieso neu vergeben wird, entferne ich diese ebenfalls, in Zeile 12.
In Zeile 13 entferne ich dann den ursprünglichen Bereich und füge den an meine Wünsche angepassten Bereich in Zeile 14 wieder hinzu.

Das Ergebnis sieht dann folgendermaßen aus:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.