Photo credits: Galileo Photos  

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:

  1.  
  2. <?php
  3. $n = 2;
  4. $p = get_page($n);
  5. echo  $p ->post_content;
  6. ?>
  7.  




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


  1.  
  2. <div class="text_footer">
  3. <?php
  4. $n = 2;
  5. $p = get_page($n);
  6. echo  $p->post_content;
  7. ?>
  8. </div>
  9.  




Dans style.css

  1.  
  2. .text_footer {
  3. width:200px;
  4. height:200px;
  5. }
  6.  



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.




Écrit par Aurélien le 22 juin 2009


15 commentaires »

  1. Sébastien

    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

  2. Aurélien

    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

  3. FX

    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

  4. Aurélien

    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

  5. Alexandre

    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

  6. Aurélien

    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

  7. yannick

    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

  8. Aurélien

    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

  9. SG

    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

  10. Aurélien

    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

  11. Alecsy

    Merci pour ce tuyau bien pratique :)

    Commentaire par Alecsy — 16 juillet 2010 @ 14 h 38 min

  12. mordikkuss

    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

  13. Aurélien

    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

  14. mordikkuss

    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

  15. mordikkuss

    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

Flux RSS des commentaires de cet article. Adresse web de rétrolien

Laisser un commentaire



Mini-Guide

Le guide du référencement

trafic

Ce guide vous permettra de comprendre et donc d'optimiser le référencement de votre site

Lire la suite

WP: Appliquer le contenu d une page

wp

Cette fonction permet d afficher un contenu que j ai rédiger dans une page et de le placer où je veux.

Lire la suite

Optimisez votre page web

optimiser

Quelles sont les balises Html importantes prises en compte par les moteurs de recherche

Lire la suite