Comment définir dynamiquement le titre de la page?
-
-
D'où viendrait la valeur?qu'est-ce qui a dans cettepage la valeur de # 123?Where would the value come from? what has in that page the value of #123 ?
- 0
- 2011-11-07
- Sagive SEO
-
6 réponses
- votes
-
- 2011-11-07
Iln'y apas de documentation là-dessusmais vouspouveztoujours appliquer unfiltre à
the_title
comme ceci: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; }
Voir ceux-ci:
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:
-
Cela semble remplacertous lestitres.Comment remplacer uniquement letitre actuel?This seems to override all titles. How do I override only the current title?
- 0
- 2017-03-29
- Petrus Theron
-
Vous devrez ajouter une condition au rappel,parexemple `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
-
Lefiltre `the_title`ne fonctionneplus dans les dernières versions de Wordpress,utilisez lesfiltres` document_title_parts` ou `pre_get_document_title` comme détaillé dans d'autres réponses.`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
Apartir de Wordpress 4.4,vouspouvez utiliser lefiltre Wordpress
document_title_parts
pour changer letitre.Ajoutez ce qui suit à
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; }
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; }
-
mais oùpassez-vous leparamètre à unfiltre?but where do you pass in the parameter to a filter?
- 0
- 2018-12-22
- Tintinabulator Zea
-
Lafonction ci-dessusmodifie lefonctionnement desfonctions `the_title ()`et `get_the_title ()` - doncpasbesoin depasser deparamètres.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
Pour ceux qui souhaitent changer l'attribut
title
du document,j'aitrouvé que l'utilisation dufiltrewp_title
ne fonctionneplus.Utilisezplutôt lefiltrepre_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"; }
-
merci d'être revenu des annéesplustardpourpublier cettemise àjour.J'utilisais wp_title dans un demesplugins depuis des annéeset jen'avaispas réalisé que celane fonctionnaitplusjusqu'àprésentet votre réponsem'a épargnébeaucoup d'efforts.Alorsmerci!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 Heureux d'entendre que cela vous a aidé :)@MatthewLee Glad to hear it helped you :)
- 0
- 2019-01-11
- Nathan Arthur
-
- 2019-04-14
Lorsque vous avez activé Yoast,vous devez remplacer letitre comme suit:
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
Cela dépend vraiment si vous cherchez à afficher untitrepersonnalisépour lapage actuelle (c'est-à-dire le contenu de labalise
<title></title>
dans l'en-tête) ou àfiltrer letitredepages dans le corps de lapage ou dans les listes.Dans lepremier cas (letitre de lapage actuelle),essayez d'ajouter unfiltrepour
wp_title()
comme ceci: http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_titleSi vous souhaitezmodifier lestitres despages d'unbout à l'autre dutableau,filtrer
the_title()
fera l'affaire: 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-
Enfait,d'aprèsmonexpérience,vous devezfiltrer à lafois `wp_title`et`the_title`pour couvrir les deux.Actually in my experience you need to filter both `wp_title` and `the_title` to cover both.
- 0
- 2015-03-26
- Geoffrey
-
Jene saispas si c'est à cause de la dépréciation,mais celane fonctionnepaspourmoi.J'aiessayé des combinaisonset desfiltresen ligneet lesnouveaux apply_filters ('pre_get_document_title',string $title)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
-
malheureusement,ni l'unni l'autren'afonctionnépourmoinonplus.sadly neither worked for me either.
- 0
- 2019-06-08
- Debbie Kurth
-
Cette réponse apresque 6 ans;entant queposter (et quelqu'un quine travailleplus activement avec WP),je suggéreraisplutôt de consulter la dernière documentation.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
Insérez le code suivant dans lemodèle:
<script>document.title = "<?php echo $new_title; ?>";</script>
Ce coden'apasbesoin d'être dans l'en-tête html,ilpeut êtreplacé dans le corps html.
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.
Est-ilpossible de changer letitre de lapage avec du code?
Parexemple,disons que lenom de lapageest "Réservez votre commande",maisje souhaite le changeren "Commander la commanden ° 123".
J'aifait unpeu de recherche sur Google,j'ai regardéiciet jen'ai rien vu.Quelqu'un connaît unplugin ou un hack?
wp_title renvoie letitre de lapagemaisne permetpas de définir letitre de lapage: http://codex.wordpress.org/Function_Reference/wp_title