Faire une requête PHP en fonction de l'ID d'un post de votre blog WordPress tel l'objet de ce tutoriel vidéo. Vous apprendrez différentes techniques en PHP pour arriver à vos fins.

Vous recherchez un développeur WordPress capable de vous créer un thème sur-mesure ? C'est mon métier depuis plus de 8 ans, prenez contact et discutons de votre projet.

Dans cet exemple, nous aurons recours à la fonction get_post de WordPress – notez ici l’absence du pluriel dans l’intitulé. Celle-ci n’étant pas très explicité pour les néophytes sur le codex, je vous propose de l’utiliser de manière plus détaillée :

<?php
 $id = 1;
 $billet = get_post($id);
 $title = $billet->post_title;
 $date = $billet->post_date;
 $contenu = $billet->post_content;
 $contenu = apply_filters('the_content', $contenu);
 $contenu = str_replace(']]>', ']]&gt;', $contenu);
?>

 <div id="billet">
 <?php echo "<h1>$title</h1><p>$contenu</p><strong>$date</strong>"; ?>
 </div>

L’idée consiste à indiquer dans un premier temps l’ID du billet à retourner. Pour obtenir l’identifiant, il suffit de survoler un élément dans le back office de WordPress avec le pointeur de la souris pour que ce dernier s’affiche dans la barre de détails du navigateur.

Capture d'écran - Affichage de l'ID de l'article
Le numéro correspond à l’ID du billet

Ensuite, nous créons plusieurs variables qui vont récupérer le contenu, le titre et la date. Il est possible d’obtenir de nombreux autres éléments comme l’indique la liste sur le codex.

Un besoin simple mais pas vraiment facile à réaliser sans un minimum de connaissance. Bien entendu, des plugins vous permettront de faire la même chose… mais probablement pas en si peu de lignes de code et à l’emplacement de votre choix.

13 commentaires
  1. Bonsoir Denis,
    avant tout merci pour ce podcast, cependant une petite question mai venu en le visionnant.
    Comment tu fait pour afficher le contenu d’un custom post type car il ne semble qu’il ne possède pas d’id (visible) ?

  2. Alors ça fonctionne avec l’id, mais il faut le récupérer dans la table wp_posts directement.

    1. Salut ! Tu peux préciser comment tu as fait car je n’y arrive pas de mon coté ^^, Merci !

  3. Peut tu détailler un peu plus pour le custom post ?
    J’ai bien appelé mon fichier single-{id}.php avec l’id de mon article custom post mais il n’est pas pris en compte.

  4. Bonjour,
    j’aimerais comprendre pourquoi un JQUERY Slider Pro (http://sliderpro.net/) ne fonctionne pas. J’ai bien rentrer la formule : [slider_pro id= »5″] sur la page mais il ne m’affiche que des images fixes.
    Faut-il rentrer une autre ligne de code pour faire fonctionner certains JQUERY ?
    Je dis cela car WOW Slider fonctionne lui.

    Merci.

  5. Merci Aurélien pour ce tuto qui m’a vraiment aidé.
    J’ai cependant une question:
    Je n’arrive pas à afficher l’image à la une de l’article (thumbnail)
    Je suis allé voir dans le codex, comme tu l’indiques, mais il n’y a rien à ce sujet.
    Si toi ou quelqu’un d’autre pouvait m’aider se serait vraiment sympa…

    Pour infos: J’ai essayé de faire un simple:

    mais cela ne fonctionne pas….

    1. Aurélien Denis auteur de l’article

      Ben justement on ne peut pas l’obtenir de cette manière.

      1. J’ai trouvé la solution, comment puis je partager le bout de code?
        Car on ne peut pas écrire de php dans les commentaire

        1. Aurélien Denis auteur de l’article

          Utilises un site comme pastebin et copies le lien ici.

  6. Bonjour !
    Je ne saisis pas la procédure pour faire mon echo dans une page spécifique.
    J’ai donc mis le code dans le fichier page.php et mon echo dans une des pages du site via l’éditeur de WordPress.
    Si je mets l’echo dans le fichier page.php, l’article s’affiche sur toutes les pages du site, évidement. Si je place

    <?php echo "$title$contenu$date« ; ?>

    dans une page « toto », il affiche
    $title

    $contenu

    $date« ; ?>

    Il y a t-il une écriture spécifique pour placer ce code dans la page (toujours via l’éditeur de wordpress) ?
    Ou faut-il mettre le code dans un autre fichier que page.php ?
    Merci !

Les commentaires sont fermés.