Je vais vous expliquer comment utiliser la fonction get_page. Ce principe consiste à créer une variable qui indiquera à wordpress d’intégrer le contenu d’une page grâce à son ID.
A quoi va me servir concrètement cette fonction ?
Cette fonction permet d’afficher un contenu que j’ai rédiger dans une page et de le placer où je veux. Si vous faites par exemple un site pour le compte d’un client, la personne qui utilisera le site ne connait pas forcément les langages html css et php. Ainsi, si le client souhaite changer de texte il devra seulement éditer la page et sa nouvelle contribution sera mise à l’emplacement sans avoir à toucher au html, css et php.
Important: Attention à ne pas confondre un article qui est géré dans le fichier single.php et une page statique (page.php)
La fonction est la suivante:
-
-
<?php
-
$n = 2;
-
$p = get_page($n);
-
?>
-
Explication:
La valeur de $n (2) est le numero id de la page. En effet lorsque je crée une page statique un ID lui est attribué.
Comment savoir l’ ID de la page que je souhaite voir afficher ?
Pour connaître cet ID rendez-vous dans votre panneau d’administration, plus précisément dans l’onglet « Pages ». Vous pourrez donc voir toute la liste des pages que vous avez crée et en pointant la souris sur le titre d’une page vous apercevrez alors dans la barre inférieur de votre navigateur l’ url de cette page avec un numéro sous la forme « action=edit&post=10. Le numéro 10 dans l’exemple est donc l’id de la page.
Vous pouvez également trouver le numéro en regardant le permalien qui se trouve juste en dessous du titre lorsque vous modifier votre page mais si vous réécrivez les URL pour mieux référencer la page alors le numéro n’apparaîtra pas. Avec la méthode expliquée ci-dessus vous êtes sûr de trouver l’ID.
Ou placer cette fonction?
Cette fonction peut-être placée dans un des mes fichiers de thème. Par exemple dans mon footer.php je veux faire apparaître les mentions légales en bas de page, je vais donc créer mon code html avec les balises div en prenant le soin de créer une class pour définir ses paramètres dans le fichier style.css.
Par exemple dans footer.php
-
-
<div class="text_footer">
-
<?php
-
$n = 2;
-
$p = get_page($n);
-
?>
-
</div>
-
Dans style.css
-
-
.text_footer {
-
width:200px;
-
height:200px;
-
}
-
Maintenant sur toutes les pages où j’ai appelé le fichier footer.php je pourrais voir le texte que j’ai tapé dans la page ayant comme ID=2
Il y a un second mode d’utilisation, je peux inclure cette fonction php à l’intérieur de ma propre page de rédaction. Cependant par défaut (version 2.7) wordpress n’interprète pas les balises php dans l’éditeur de texte.
Pas de problème puisqu’ un plugin spécial a été crée pour que wordpress interprète le php dans cette situation. Il s’agit du plugin Exec Php écrit par Sören Weber. Vous pourrez donc le télécharger ici
Le procédé quant à lui reste le même, j’insère directement la fonction php dans ma page de rédaction.
Si vous avez des problèmes laissez-moi un commentaire.
15 commentaires »
Flux RSS des commentaires de cet article. Adresse web de rétrolien






Bonjour,
Merci pour l’info.
Cependant le texte ne s’affiche pas correctement s’il y a des saut de ligne…
Auriez vous une piste ?
Merci.
Commentaire par Sébastien — 10 novembre 2009 @ 19 h 03 min
Bonsoir Sébastien,
Quand vous rédigez vos articles êtes-vous en mode visuel ou html?Le mieux c’est d’être en mode html et d’appliquer une balise au texte avec une classe(div ou p comme dans l exemple ci-dessus)puis de la définir grâce au css. J espère avoir cerner votre problème et si ce n’est pas le cas donnez moi l’url de cette page et je vous aiderai plus amplement.
Aurélien
Commentaire par Aurélien — 10 novembre 2009 @ 22 h 09 min
Est-il possible de gérer la fonction langue de zd multiligue ? si oui comment faire
Commentaire par FX — 5 janvier 2010 @ 12 h 27 min
Bonjour FX
Pourrais-tu m’expliquer plus amplement ton problème avec zd multilingue? En ce qui concerne les plugins de langues je les ai tous essayé et je te conseille d utiliser le plugin WPML Multilingual CMS qui est vraiment très puissant. Avec ce plugin tu peux traduire tous tes posts et pages, tu peux également choisir l’url par exemple http://www.monsite.fr/en . Sur chaque traduction tu peux optimiser le référencement. Dans ce plugin est également intégrer la navigation cms navagation ce qui peut te permettre de gérer un menu drop down. Si tu veux voir un exemple tu peux aller voir un site que j ai réalisé: http://interno.busnet.it:84/scuolafattoria/
Tiens moi au courant
Aurélien
Commentaire par Aurélien — 5 janvier 2010 @ 15 h 07 min
bonjour,
Votre publication est très interessante. Mais débutant dans wordpress, j’aimerais l’utiliser seulement pour editer le texte contenu dans un footer, ou une charte d’utilisation etc.. et non en tant que blog, plus comme CMS.
cependant, wordpress est installer a l’emplacement : monsite.com/blog/.
la page footer (ou charte.php) est a l’emplacement monsite.com/
or depuis l’arborescence du footer je n’ai pas accés au fonctionnnalité de wordpress, n’ya t’il pas un fichier de configuration a inserer ds le footer pour indiquer ou prendre la méthode « post_content »
Commentaire par Alexandre — 16 avril 2010 @ 16 h 20 min
Salut Alexandre,
Si j’ai bien compris tu souhaiterais utiliser cette fonction dans la root de ton site, de façon à ce que tu puisses éditer le contenu? Ton blog se trouve dans le dossier blog. Donc ton site n’est pas en wordpress (wordpress est seulement dans la partie blog). Si tu souhaites utiliser wordpress pour éditer une page qui « n’appartient » pas à wordpress, ça va être difficile mais pas impossible.
Comme alternative tu peux créer ce contenu dans wordpress. Dans ta page charte.php, tu peux faire une query sur la base de donnée de wordpress qui appelle l’id de cette page.
Ainsi le contenu de cette serait imprimé dans cette page.
Si tu as besoin de plus d’info sur comment faire cette query, je pourrais te filer le code php.
Bon week-end
Commentaire par Aurélien — 17 avril 2010 @ 19 h 52 min
bonjour je désirerais savoir comment pour faire pour inserer un poste de la même manière que décrite ci-dessus mais afficher seulement le résumé !
merci d’avance
Commentaire par yannick — 9 juin 2010 @ 3 h 30 min
Bonjour Yannick,
La manière décrite est faite pour les pages statiques.
Pour les post ca fonctionne également mais tu dois mettre le code suivant :
Pour afficher tout le contenu d’ un post:
< ?php
$n = 7;
$p = get_post($n);
echo $p->post_content;
?>
Pour afficher seulement le résumé:
< ?php
$n = 7;
$p = get_post($n);
echo $p->post_excerpt;
?>
Je ne sais pas vraiment ce que tu veux en faire mais saches qu on peut également recréer le loop de wordpress dans une page statique par l intermédiaire d’ un template et afficher le résumé de tous les articles en sélectionnant les posts d une categorie ou voir meme sélectionner certains articles.
Bonne journée
Commentaire par Aurélien — 10 juin 2010 @ 10 h 56 min
Bonjour,
Tout d’abord merci pour votre astuce qui fonctionne parfaitement, cependant comment faire si la page à inclure comporte du php grâce à l’utilisation du plug-in exec-php, car le code n’est pas interprété et s’affiche comme du texte dans mon include, alors que tout fonctionne bien sur ma page…
Merci d’avance pour votre réponse, Bonne soirée
Commentaire par SG — 30 juin 2010 @ 16 h 53 min
Salut SG,
Si la page à inclure comporte du php, le php n’est pas interprété. Cependant il existe d’autres solutions. Sur la page dans laquelle tu veux inclure une autre page tu peux y attacher un template. A l’interieur de ce template tu inclue la fonction pour voir le contenu. Si tu as besoins d’aide, dis le moi.
Bonne journée
Commentaire par Aurélien — 1 juillet 2010 @ 11 h 30 min
Merci pour ce tuyau bien pratique
Commentaire par Alecsy — 16 juillet 2010 @ 14 h 38 min
Hello,
en effet, très pratique comme astuce, j’adore
Par contre, j’essaie d’insérer une galerie photo faite avec nextGen Gallery, mais impossible… (la page fonctionne bien elle)
J’ai l’impression que le problème est le même que SG et du coup, je n’est pas bien saisi ton astuce pour y remédier…
Commentaire par mordikkuss — 23 août 2010 @ 3 h 18 min
Salut Mordikkuss,
Quand tu parles de pages tu veux dire une page wordpress dans le panneau d’admin ?
Si oui, as tu mis dans ta page le bon code avec le bon id pour appeler ta gallerie ? (du type: [ nggallery id=x ]) ?
Tiens moi au courant
Commentaire par Aurélien — 23 août 2010 @ 20 h 55 min
Re,
en effet, pas très clair mon explication (3h18 du mat
En fait j’avais créé une page statique où j’avais inséré une galerie nextGen. En front-end, la galerie s’affichait correctement lors de l’appel de cette page, via le menu principal…
Moi, je voulais afficher cette page (contenant la galerie), comme tu le décrivais plus haut, mais ça ne fonctionnait pas. A l’affichage, j’avais ça : [ nggallery id=x ], c’était interprété comme du texte, et oui
Finalement, j’ai trouvé une solution, via un forum, pour afficher une galerie photo dans n’importe quel template php :
mon problème est alors réglé. voilou
Si tu as une autre solution, ça m’intéresse aussi. Merci dans tous les cas.
Commentaire par mordikkuss — 24 août 2010 @ 0 h 02 min
ReReee,
je recommence, vu que mon explication a été tronqué :
…pour afficher une galerie photo dans n’importe quel template php : echo do_shortcode(’[nggallery id=4]‘);
Voilou.
Commentaire par mordikkuss — 24 août 2010 @ 0 h 05 min