Wie ändere ich die Standardklasse für den Widget-Titel?

Ich möchte die Standardklasse des Widget-Titels ändern. Momentan ist es h2 und ich möchte, dass es h3 ist. Ich habe gesehen, dass es die Möglichkeit gibt, css so anzupassen, dass h2 wie h3 aussieht.

#sidebar h2 { font-size: 24px; } 

Aber dann kann dies ein Problem verursachen, wenn ich h3 später modifiziere, h2 wird den Änderungen nicht folgen.

Und ich sah auch diese Diskussion Wie man class auf Widget Title über das Erstellen eines Registers ein neues Widget hinzufügen .

Aber ich möchte es auf das Standard-Widget anwenden, nicht ein neues registrieren …

Danke für Ihre Hilfe

Solutions Collecting From Web of "Wie ändere ich die Standardklasse für den Widget-Titel?"

h2 und h3 sind keine HTML- classn , sondern HTML- Tags .

Allerdings gibt es kein Standard-HTML-Tag für die Widgets, da das Format für die Ausgabe des Widgets-Titels festgelegt wird, wenn die Sidebar registriert ist (siehe Argument ‘before_title’).

Wie der Titel angezeigt wird, ist thematisch und seitenbezogen , hängt nicht von Widgets ab.

Eine einfache Möglichkeit, den HTML-Tag, den Ihr Theme für Widget-Titel verwendet, zu ändern, ist der 'dynamic_sidebar_before' Hook (ausgetriggers kurz bevor die Sidebar angezeigt wird) und die globale $wp_registered_sidebars Variable, um das Argument’ before_title ‘in der Seitenleiste zu ändern , dank der Tatsache, dass der Haken die Sidebar-ID passiert:

 add_action( 'dynamic_sidebar_before', 'widget_title_h2_h3' ); function widget_title_h2_h3( $sidebar_id ) { global $wp_registered_sidebars; if ( isset( $wp_registered_sidebars[$sidebar_id] ) ) { if ( isset($wp_registered_sidebars[$sidebar_id]['before_title']) ) { $now = $wp_registered_sidebars[$sidebar_id]['before_title']; $h3 = str_ireplace( '

Dies wird jedoch h2 in allen Ihren Seitenleisten ändern (zumindest alle Seitenleisten, in denen sich ein h2 im Widget-Titel befindet).

Um Code auf eine bestimmte Seitenleiste anzuwenden, fügen Sie eine Bedingung innerhalb von outer hinzu, if so aussehen sollte:

 if ( $sidebar_id === 'sidebar-id' && isset( $wp_registered_sidebars[$sidebar_id] ) ) { 

Standardmäßig verwenden die WordPress-Seitenleisten H2-Tags. Um diese zu ändern, um stattdessen H3-Tags zu verwenden, füge dies zu deiner functions.php-Datei hinzu:

 if ( function_exists('register_sidebar') ) register_sidebar(array('name'=>'Sidebar','before_title'=>'

','after_title'=>'

'));