Ist es möglich, den Seitentitel mit Code zu ändern?
Angenommen, der Name der Seite lautet "Bestellung buchen", aber ich möchte den Namen in "Bestellung Nr. 123 buchen" ändern.
Ich googelte ein bisschen und schaute hier und sah nichts. Kennt jemand ein Plugin oder einen Hack?
wp_title gibt den Seitentitel zurück, erlaubt jedoch nicht das Festlegen des Seitentitels: http://codex.wordpress.org/Function_Reference/wp_title
Es gibt keine Dokumentation, aber Sie können jederzeit einen Filter auf the_title
anwenden:
add_filter('the_title','some_callback');
function some_callback($data){
global $post;
// where $data would be string(#) "current title"
// Example:
// (you would want to change $post->ID to however you are getting the book order #,
// but you can see how it works this way with global $post;)
return 'Book Order #' . $post->ID;
}
Siehe diese:
Ab Wordpress 4.4 können Sie den Titel mit dem Wordpress-Filter document_title_parts
ändern.
Fügen Sie functions.php
Folgendes hinzu:
add_filter('document_title_parts', 'my_custom_title');
function my_custom_title( $title ) {
// $title is an array of title parts, including one called `title`
$title['title'] = 'My new title';
if (is_singular('post')) {
$title['title'] = 'Fresh Post: ' . $title['title'];
}
return $title;
}
Für diejenigen, die das title
-Attribut des Dokuments ändern möchten, stellte ich fest, dass die Verwendung des wp_title
-Filters nicht mehr funktioniert. Verwenden Sie stattdessen den pre_get_document_title
-Filter :
add_filter("pre_get_document_title", "my_callback");
function my_callback($old_title){
return "My Modified Title";
}
Dies hängt davon ab, ob Sie einen benutzerdefinierten Titel für die aktuelle Seite anzeigen möchten (d. H. Den Inhalt des <title></title>
-Tags in der Kopfzeile) oder den Titel der Seiten im Seitenkörper oder in den Auflistungen filtern möchten.
Versuchen Sie im ersten Fall (Titel der aktuellen Seite), einen Filter für wp_title()
wie folgt hinzuzufügen: http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_title
Wenn Sie die Seitentitel allgemein ändern möchten, reicht das Filtern von the_title()
aus: http://codex.wordpress.org/Plugin_API/Filter_Reference/the_title
Wenn Sie Yoast aktiviert haben, müssen Sie den Titel wie folgt überschreiben:
add_filter('wpseo_title', 'custom_titles', 10, 1);
function custom_titles() {
global $wp;
$current_slug = $wp->request;
if ($current_slug == 'foobar') {
return 'Foobar';
}
}