Le contenu d’une page statique sur votre page d’accueil WP

le 15 juin 2011

WordPress

Dernièrement, j’ai été amenée à chercher une solution pour afficher le contenu d’une page statique sur la page d’accueil d’un site Wordpress. J’aurais pu utiliser un widget pour que mon client puisse afficher son texte sur la page d’accueil, mais cela aurait créé un doublon, puisque ce texte devait être identique à celui de la page statique… Autant faciliter la vie de tout le monde et ne devoir mettre à jour qu’une seule page. C’est là qu’interviennent les requêtes (query).

Trouver l’ID de la page à afficher

La première étape est donc de récupérer l’ID de la page à afficher. Pour cela, rendez-vous dans le menu « Pages » de WordPress et survolez la page que vous souhaitez afficher. L’ID de celle-ci s’affiche en pied de page (Cf. image).

Création de la requête & affichage du résultat

Seconde étape, éditer le fichier index.php (ou le template de votre page d’accueil, c’est selon). D’abord, il faut spécifier l’ID de la page à afficher et récupérer son contenu : dans mon cas, cette ID est 20.

<?php $post_id =20; $queried_post = get_post($post_id); $content = $queried_post->post_content; ?>

Ensuite, il vous suffit d’afficher votre contenu comme d’habitude :

<?php echo $content; ?>

 

Et si je ne souhaite pas afficher les images ?

Si vous souhaitez n’afficher que le texte de votre page, il faut modifier votre requête, en utilisant la fonction preg_replace, qui permet de rechercher & remplacer du contenu. Ici, je recherche les balises image, et les remplace par une espace.

 <?php $post_id =20; $queried_post = get_post($post_id); $content = $queried_post->post_content; $content = preg_replace("/<img[^>]+\>/i", "", $content); ?>

8 commentaires

  1. herve dit :

    Bonjour,

    Super j’étais justement entrain de chercher une solution à un problème similaire et pour lequel cela ne fonctionne pas :-(

    Comment peut-on intégrer une page qui a des shortcode pour avoir un bon rendu HTML ??

    Merci d’avance

    • Mylene dit :

      Bonjour,

      Pour les shortcodes, je n’ai pas encore trouvé la solution pour les afficher correctement. J’ai pour le moment pris le parti de ne pas les afficher avec le même procédé (preg_replace), mais si je trouve un moyen pour qu’ils s’affichent correctement, je ferai un post à ce sujet !

  2. kReEsTaL dit :

    Une autre méthode concerne la fonction « Static Front Page » proposée par WP. Cf.http://codex.wordpress.org/Creating_a_Static_Front_Page

  3. Cybercraft dit :

    Salut Myléne,

    Tu peut utiliser la fonction wordpress « do_shortcode( $content ) »

    Cela va extraire et filtré la partie « Shortcode » du post.

    Ne me remercie pas ^^ Remercie WordPress ^^

    A++

    • Mylene dit :

      Merci ^^ Au final j’avais été poser ma question sur le forum de support WP, mais je vais garder ta soluce dans un coin pour la prochaine fois !

  4. Bobatosurlo dit :

    Merci beaucoup pour cette explication très claire. Elle m’a permis de faire enfin ce que je voulais.

Ajouter un commentaire