it-swarm.com.de

Wie lege ich den Seitentitel dynamisch fest?

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

14
Alex Cook

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:

http://codex.wordpress.org/Function_Reference/the_title

http://codex.wordpress.org/Function_Reference/add_filter

19
Jared

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;
}
5
Brendan Nee

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";
}

Quelle

4
Nathan Arthur

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

2
nickb

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';
  }
}
0
leymannx