Ich möchte den Seitentitel der Suchergebnisseite anpassen:
von:
<title>Search Results for “search string” – Page 2 – Sitename</title>
zu:
<title>“search string” result page – Page 2 – Sitename</title>
In meiner search.php-Vorlage ist get_header()
wahrscheinlich diejenige, die aufgerufen wird, um das <title>
-Tag zu generieren.
Gibt es einen Filter, den ich anwenden kann, um diese Anpassung vorzunehmen?
Innerhalb der Funktion wp_get_document_title()
haben wir:
// If it's a search, use a dynamic search results title.
} elseif ( is_search() ) {
/* translators: %s: search phrase */
$title['title'] = sprintf(
__( 'Search Results for “%s”' ),
get_search_query()
);
sie können sich also in den document_title_parts
-Filter einhängen, um ihn an Ihre Bedürfnisse anzupassen.
Beispiel:
/**
* Modify the document title for the search page
*/
add_filter( 'document_title_parts', function( $title )
{
if ( is_search() )
$title['title'] = sprintf(
esc_html__( '“%s” result page', 'my-theme-domain' ),
get_search_query()
);
return $title;
} );
Hinweis: Dies setzt voraus, dass Ihr Thema title-tag
unterstützt.
Update:
Kann ich im selben Filter auch den Teil des Titels anpassen?
In Bezug auf den Teil page können Sie ihn auf ähnliche Weise anpassen:
/**
* Modify the page part of the document title for the search page
*/
add_filter( 'document_title_parts', function( $title ) use( &$page, &$paged )
{
if ( is_search() && ( $paged >= 2 || $page >= 2 ) && ! is_404() )
$title['page'] = sprintf(
esc_html__( 'This is %s page', 'my-theme-domain' ),
max( $paged, $page )
);
return $title;
} );