wp_title filter hat keinen Einfluss auf den <title> tag
Habe ich nur noch die folgenden filter in meinem Thema functions.php
Datei:
function change_the_title() {
return 'My modified title';
}
add_filter('wp_title', 'change_the_title');
Und in meinem header.php
:
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta id="viewport" name="viewport" content="width=device-width">
<link rel="profile" href="http://gmpg.org/xfn/11">
<link href="<?php bloginfo( 'pingback_url' ); ?>">
<?php wp_head(); ?>
</head>
<body <?php body_class();?>>
Dann fand ich den Titel meiner Seite zu haben NICHT ändern! Und der title-tag injiziert wurde, in die wp_head
Funktion.
Mehr, wenn ich die Funktion aufrufen wp_title
manuell in den header, es tut der erwartete Wert zurück.
Was ist die Materie? Wie kann ich es umgehen?
Ergänzung: Meine WordPress-version ist 4.4.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schließlich fand ich heraus, dass die WordPress-core-code wurde geändert, siehe unten im code.
So, nach 4.4, das Kern nicht injizieren die
wp_title
Ergebnis in den header<title>
tag, aber tun die gleiche Sache mit einer neuen Funktionwp_get_document_title
.Anstatt also, wir können das gleiche tun, indem:
1. ändern Sie den Titel direkt:
2. filtern Sie den Titel teilen:
Für mehr, siehe die details hier: https://developer.wordpress.org/reference/functions/wp_get_document_title/
pre_get_document_title
funktioniert nicht für einige Themen., jede Idee, warum. ?add_theme_support( 'title-tag' )
statt der alten Funktionwp_title
Nicht sicher, ob es auch notwendig, injizieren Sie die variable, aber versuchen Sie dies.
Ihnen fehlt
title
in Ihremhead
tag, Fügen Sie In<head>
tag<title><?php wp_title('|', true, 'left'); ?></title>
Ihre wp_filter normalerweise arbeiten.wp_head()
wird die Injektion.