Wie setze ich den Seitentitel dynamisch?
-
-
Woher würde der Wert kommen?Was hat auf dieser Seite den Wert von # 123?Where would the value come from? what has in that page the value of #123 ?
- 0
- 2011-11-07
- Sagive SEO
-
6 Antworten
- Stimmen
-
- 2011-11-07
Esgibt keine Dokumentation,aber Sie könnenjederzeiteinen Filter auf
the_title
wiefolgt 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:
There is no documentation on it but you could always apply a filter to
the_title
like this: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; }
See these:
-
Dies scheint alle Titel zu überschreiben.Wie überschreibeichnur den aktuellen Titel?This seems to override all titles. How do I override only the current title?
- 0
- 2017-03-29
- Petrus Theron
-
Siemüssten dem Rückrufeine Bedingung hinzufügen,z. B. "if ($post-> ID==45) {...}"You would need to add a condition to the callback, e.g `if ($post->ID == 45) { ... }`
- 0
- 2018-07-09
- Nick Barrett
-
Der Filter "the_title"funktioniertin denneuesten Versionen von Wordpressnichtmehr. Verwenden Sie die Filter "document_title_parts" oder "pre_get_document_title",wiein anderen Antwortenbeschrieben.`the_title` filter no longer works in the latest versions of Wordpress, use `document_title_parts` or `pre_get_document_title` filters as detailed in other answers.
- 3
- 2018-11-15
- Brendan Nee
-
- 2018-11-15
Ab Wordpress 4.4 können Sie den Wordpress-Filter
document_title_parts
verwenden,um den Titel zu ä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; }
As of Wordpress 4.4, you can use the Wordpress filter
document_title_parts
to change the title.Add the following to
functions.php
: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; }
-
aber wo übergeben Sie den Parameter aneinen Filter?but where do you pass in the parameter to a filter?
- 0
- 2018-12-22
- Tintinabulator Zea
-
Die obige Funktion ändert die Funktionsweise der Funktionen "the_title ()" und "get_the_title ()",sodass keine Parameter übergeben werdenmüssen.The above function modifies the way `the_title()` and `get_the_title()` functions work - so no need to pass any parameters.
- 0
- 2018-12-25
- Brendan Nee
-
- 2018-08-12
Für diejenigen,die das Attribut
title
des Dokuments ändernmöchten,stellteichfest,dass die Verwendung des Filterswp_title
nichtmehrfunktioniert.Verwenden Sie stattdessen den Filterpre_get_document_title
:add_filter("pre_get_document_title", "my_callback"); function my_callback($old_title){ return "My Modified Title"; }
For those wishing to change the document's
title
attribute, I found that using thewp_title
filter no longer works. Instead, use thepre_get_document_title
filter:add_filter("pre_get_document_title", "my_callback"); function my_callback($old_title){ return "My Modified Title"; }
-
Vielen Dank,dass Sie Jahre später wiederkommen,um dieses Update zu veröffentlichen.Ich habe wp_titlejahrelangin einemmeiner Plugins verwendet undnichtbemerkt,dassesbisjetztnichtmehrfunktioniert,und Ihre Antwort hatmir viel Müheerspart.Also vielen Dank!thanks for coming back years later to post this update. I had been using wp_title in a plugin of mine for years and hadn't realized it was no longer working until now and your answer saved me a lot of effort. So Thank you!
- 1
- 2019-01-11
- MatthewLee
-
@MatthewLee Freutmich zu hören,dasses dirgeholfen hat :)@MatthewLee Glad to hear it helped you :)
- 0
- 2019-01-11
- Nathan Arthur
-
- 2019-04-14
Wenn Yoast aktiviertist,müssen Sie den Titel wiefolgt überschreiben:
add_filter('wpseo_title', 'custom_titles', 10, 1); function custom_titles() { global $wp; $current_slug = $wp->request; if ($current_slug == 'foobar') { return 'Foobar'; } }
When having Yoast enabled you need to override the title like so:
add_filter('wpseo_title', 'custom_titles', 10, 1); function custom_titles() { global $wp; $current_slug = $wp->request; if ($current_slug == 'foobar') { return 'Foobar'; } }
-
- 2013-12-15
Hängt wirklich davon ab,ob Sieeinen benutzerdefinierten Titelfür die aktuelle Seite anzeigenmöchten (dh den Inhalt des Tags
<title></title>
in der Kopfzeile) oder den Titelfilternmöchtenvon Seitenim Seitenkörper oderin Listen.Versuchen Sieim ersten Fall (dem Titel der aktuellen Seite),einen Filterfür
wp_title()
wiefolgt hinzuzufügen: http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_titleWenn Sie Seitentitel auf derganzen Linie ändernmöchten,reicht das Filtern von
the_title()
aus: http://codex.wordpress.org/Plugin_API/Filter_Reference/the_titleReally depends if you're looking to display a custom title for the current page (i.e. the contents of the
<title></title>
tag in the header) or filter the title of pages in the page body or in listings.In the former case (the title of the current page), try adding a filter for
wp_title()
like so: http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_titleIf you want to modify page titles across the board, filtering
the_title()
will do the trick: http://codex.wordpress.org/Plugin_API/Filter_Reference/the_title-
Nachmeiner Erfahrungmüssen Sie sowohl "wp_title" als auch "the_title"filtern,umbeide abzudecken.Actually in my experience you need to filter both `wp_title` and `the_title` to cover both.
- 0
- 2015-03-26
- Geoffrey
-
Ichbin nicht sicher,obes an der Abwertung liegt,aberesfunktioniertnichtfürmich.Ich habe Kombinationen und Inline-Filter und dieneuen apply_filters ('pre_get_document_title',string $title) ausprobiert.I am not sure if its because of the deprecation but tis doesnt work for me. I have tried combinations and inline filters and the new apply_filters( 'pre_get_document_title', string $title )
- 0
- 2017-01-18
- landed
-
Leider hat auch keinerfürmichgearbeitet.sadly neither worked for me either.
- 0
- 2019-06-08
- Debbie Kurth
-
Diese Antwortistfast 6 Jahre alt;Als Poster (undjemand,dernichtmehr aktivmit WP arbeitet) würdeichempfehlen,stattdessen dieneueste Dokumentation zu lesen.This answer is nearly 6 years old; as the poster (and someone who doesn't actively work with WP anymore), I would suggest looking at the latest documentation instead.
- 0
- 2019-06-09
- nickb
-
- 2020-09-05
Dereinfachste Weg,dies zutun,ist die Verwendungeiner Zeilejs.
Fügen Sie denfolgenden Codein die Vorlageein:
<script>document.title = "<?php echo $new_title; ?>";</script>
Dieser Codemuss sichnichtim HTML-Headerbefinden,sondern kannin den HTML-Texteingefügt werden.
Actually the easiest way to do this is use one line of js.
Put the following code in the template:
<script>document.title = "<?php echo $new_title; ?>";</script>
This code doesn't has to be in the html header, it can be put in the html body.
Istesmöglich,den Seitentitelmit Code zu ändern?
Angenommen,der Name der Seite lautet "Buchen Sie Ihre Bestellung",aberichmöchteihnin "Buchbestellung Nr. 123" ändern.
Ich habeein bisschengoogelt und hiergesucht undnichtsgesehen.Kenntjemandein Plugin odereinen Hack?
wp_titlegibt den Seitentitel zurück,erlaubtjedochnicht das Festlegen des Seitentitels: http://codex.wordpress.org/Function_Reference/wp_title