wp_title () leer auf einer statischen Titelseite

Ich versuche, wp_title() zu verwenden, um eine Überschrift für meine Seiten zu erstellen, aber ich benutze eine statische Titelseite und, während alle anderen Seiten den Titel richtig wiedergeben, wird die Titelseite nicht.

Daran arbeite ich:

 

Anfangs dachte ich, dass die Titelseite von index.php gezeichnet werden könnte, also habe ich das gleiche Code-Snippet dort eingefügt – aber kein Glück, dasselbe wird gerendert – ein leeres h1 Tag.

Was ist denn hier los? Ich möchte, dass der Titel der Seite im h1-Tag angezeigt wird.

Solutions Collecting From Web of "wp_title () leer auf einer statischen Titelseite"

wp_title () ist für die html title tags im Kopfbereich Ihrer Website.

Es ist nicht für die Ausgabe eines Titels. Benutze the_title () oder get_the_title () ,

Wenn Sie sich die Quelle von wp_title() ansehen, werden Sie sehen, dass für eine statische Titelseite keine Ausgabe geplant ist.

Verwenden Sie the_title() für die visuelle Ausgabe als @Chris_O vorgeschlagen. Aber für den Titel im Abschnitt müssen Sie wp_title() filtern und ausfüllen, wenn es leer ist.

Beispielcode ( Download von GitHub ):

 // Hook in very late, let the theme fix it first. add_filter( 'wp_title', 't5_fill_static_front_page_title', 100 ); /** * Fill empty front page title if a static page is set. * * @wp-hook wp_title * @param string $title Existing title * @return string */ function t5_fill_static_front_page_title( $title ) { // another filter may have fixed this already. if ( '' !== $title or ! is_page() or ! is_front_page() ) { return $title; } $page_id = get_option( 'page_on_front' ); $page = get_page( $page_id ); if ( ! $page or '' === $page->post_title ) { $title = get_option( 'blogname' ); } else { $title = $page->post_title; } // We don't know if there is any output after the title, so we cannot just // add the separator. We use an empty space instead. return "$title "; }