Placer le titre de la page dans l'en-tête?
-
-
Si votre question a reçu une réponse,veuillezmarquer la réponse acceptée commetelle.Je vous remercie.If your question has been answered please mark the accepted answer as such. Thank you.
- 0
- 2015-02-16
- tacudtap
-
3 réponses
- votes
-
- 2015-02-15
Si vousn'avezbesoin que dutitre,vouspouvez le demanderfacilementen dehors de laboucle.
Essayez d'appeler
the_title()
dans votreen-tête.Cela devraitfonctionnerMais sachez que si vousne mettezpas de condition,chaquepage de votre site Web affichera sontitre dans la section d'en-tête.
EDIT: lafonction à appelerest
get_the_title($post->ID)
carthe_title()
ne vouspermetpas de spécifier l'identifiant dupost comme argument.Vouspouvez vérifier sur le Wordpress Codex lafonction vouspermettant d'interroger lesinformations de votremessageen dehors de laboucle.If you only need the title you can request it outside the loop easily.
Try and call
the_title()
in your header. It should workBut you have to be aware that if you don't put a condition, each page of your website will display its title in the header section.
EDIT: the function to call is
get_the_title($post->ID)
sincethe_title()
doesn't allow you to specify the post id as an argument. You can check on the Wordpress Codex for function allowing you to query information from your post outside the loop.-
the_titleest destiné à être utilisé uniquement dans laboucle.Pour obtenir letitre d'un articleen dehors de laboucle,utilisezget_the_title ($post-> ID)the_title is intended to only be used within the loop. To get the title of a post outside of the loop use get_the_title( $post->ID )
- 0
- 2015-02-15
- Rachel Baker
-
Oui désolé,j'ai confondu les deux.Yes sorry I confused the two.
- 0
- 2015-02-15
- mathieuhays
-
Enfait,j'ai doublé checket `the_title ()`fonctionneen dehors de laboucle.Dans le cas desmodèles d'archives,ilimprimera letitre dupremier article.Dans le cas de `single.php`et`page.php`,letitre de lapage seraimprimé.Peut être utile dans certains casmaisnon recommandépar la documentationActually, I doubled check and `the_title()` do work outside the loop. In case of the archive templates it will print the title of first article. In case of `single.php` and `page.php` it will print the page title. Can be useful in some cases but not recommended by the documentation
- 0
- 2015-02-15
- mathieuhays
-
Trèsintéressant!Commeje l'ai dit,je suisnouveau sur WP,donc rienn'est évidentpourmoi ... (y compris lefait que,apparemment,je nepeuxpas appuyer sur Entréepour unenouvelle ligne dans un commentaire -je suppose queje posterai un autreentrée ci-dessous.Very interesting! As I said, I'm new to WP, so _nothing_ is obvious to me... (Including the fact that, apparently, I can't hit enter for a newline within a comment --- guess I'll post a separate entry below.
- 0
- 2015-02-15
- user781470
-
- 2015-02-15
Vous devez utiliser wp_title ();
Si vousessayez d'utiliser letitre dumessage comme ceci:
<head> <title> post title here </title> </head>
Vous devrez ajouter le wp_title ('',true,'');
<head> <title> <?php wp_title('', true,''); ?> </title> </head>
Parexemple: si lenom de votremessage était Hello World,Hello World apparaîtrait désormais dans l'onglet.
You need to use wp_title();
If you're trying to use the post title like so:
<head> <title> post title here </title> </head>
You would need to add the wp_title(' ', true , ' ');
<head> <title> <?php wp_title('', true,''); ?> </title> </head>
For example: If your post name was Hello World, Hello World would now show up in the tab.
-
Les questionsbasées uniquement sur les liensne sontpasbonnes.Veuillezexpliquer quoifaireet pourquoi cela répond à la question.Et,sipossible,postez unexemple.Link-only based questions as not good. Please, explain what to do and why it answers the question. And, if possible, post an example.
- 0
- 2015-02-15
- cybmeta
-
Merci.Vous avez réponduen premier,maisj'ai dû accepter l'autre réponse car wp_titlene fonctionneraitpaspourmoi.Encore,bon à savoir sur wp_title.Thanks. You answered first but I had to accept the other response since wp_title wouldn't work for me. Still, good to know about wp_title.
- 0
- 2015-02-16
- user781470
-
- 2018-11-15
Bien que lesméthodesmentionnées ci-dessusfonctionnentpour lemoment,les développeursprincipaux de WordPress recommande comme suit:
Àpartir de 4.1et Twenty Fifteen,laméthode recommandéepour lesthèmes pour afficher lestitres,c'esten ajoutant un support dethème comme ceci: - Konstantin Obenland
Vouspouvez soit ajouter cette ligne dans lefichierfunctions.php de votrethème après after_setup_theme . ou
de lamêmepage,
Àpartir de 4.1et Twenty Fifteen,laméthode recommandéepour lesthèmes pour afficher lestitres,c'esten ajoutant un support dethème comme celui-ci:
function theme_slug_setup() { add_theme_support( 'title-tag' ); } add_action( 'after_setup_theme', 'theme_slug_setup' );
Le support doit être ajouté sur l'action after_setup_theme ouinit,mais auplustard. Iln'accepte aucun autre argument.
Ce que celafait,c'est laisser WordPress choisir letitre de lapage dans l'en-tête,sans utiliser debalises codéesen dur dans lefichier header.php.
votretitre sera affiché auformat suivant.
<₹
Page Title - Site Title
While above mentioned methods are working for the moment, WordPress core developers recommends as follows:
Starting with 4.1 and Twenty Fifteen, the recommended way for themes to display titles is by adding theme support like this: -Konstantin Obenland
You can either add this line in your theme's functions.php file after the after_setup_theme. or
from same page,
Starting with 4.1 and Twenty Fifteen, the recommended way for themes to display titles is by adding theme support like this:
function theme_slug_setup() { add_theme_support( 'title-tag' ); } add_action( 'after_setup_theme', 'theme_slug_setup' );
Support should be added on the after_setup_theme or init action, but no later than that. It does not accept any further arguments.
What this do is, let WordPress choose the page title in header, without using hardcoded tags in header.php file.
your title will be displays as following format.
Page Title - Site Title
Normalement,dans WordPress,letitre de lapage apparaît dans la zone de contenu. J'aimerais que letitre de lapage apparaisse dans la zone d'en-tête. Il semble quepourfaire cela,je devrais le supprimer de sonemplacement actuel dans le content-page.phpet leplacer dans header.php. Mais content-page.phpest appelé depuispage.php,qui appelle la content-page depuis uneboucle while (
while ( have_posts() ) : the_post(); ...
) Je devrais aussi déplacer ou copier ceci dans l'en-tête,je pense. Cela semble êtrebeaucoup deproblèmes.Serait-ilplusjudicieux de déplacer unepartie de l'en-tête html dans le contenu de lapage,pourne pas avoir àexécuter laboucle whileplus d'unefois?
(Entant qu'outil d'apprentissage,je recrée un site htmlexistant avec WordPress,en utilisant lethème de démarrage _s.)
--- EDIT ---
Mercipour les réponses. Très utile. Voici les résultats de certainstests,basés sur vos réponses. Comptetenu du code suivant,dans l'en-tête (en dehors de laboucle):
Lorsqueje consultemapage Àpropos denous,j'obtiens:
Lorsqueje regarde depuismapage d'accueil,j'obtiens:
Et lorsqueje regarde unmessage "Hello World",j'obtiens:
Conclusion:je peux utiliserthe_title () ou single_post_title () (wp_title renvoieplus detexte queje ne le souhaite). Etje peuxtesteris_page (...) afin d'afficher unnom depage spécifique lorsqueje consulte un article.
Merci!