Retourner le contenu via l’ID sous WordPress

Pour afficher le contenu d'un article ou d'une page sous WordPress à partir de son identifiant en base de données, la fonction PHP get_the_content() ne fonctionnera pas. Il existe pour cela une fonction méconnue intitulée get_post_field() - à ne pas confondre avec get_field() de l'extension Advanced Custom Fields.

Imaginez que vous souhaitiez récupérer le contenu d’une page en particulier au sein de votre thème. Vous disposez de l’ID du contenu mais vous vous situez hors de la boucle. Voici la ligne de code à utiliser :

<?php echo get_post_field(‘post_content’, $post_id); ?>

La variable $post_id doit être préalablement spécifié dans votre code.

Disponible depuis la version 2.3 de WordPress, get_post_field() permet également de récupérer n’importe quel champ de la table wp_posts. Je vous renvoie au Codex pour de plus amples détails.

Avez-vous déjà utilisé une telle fonction au cours de vos développements ?

3 commentaires

  1. Micky

    Ce n’est pas tout à fait similaire à the_content() car le contenu n’a pas la possibilité d’être filtré par les plugins, pour obtenir le même comportement il faudrait faire apply_filters( ‘the_content’, get_post_field(‘post_content’, $post_id) );
    Si on a besoin d’autres éléments du post, on peut aussi faire un get_post et utiliser l’objet WP_Post retourné (get_post_field utilise d’ailleurs get_post)

Laisser un commentaire

Thèmes & Plugins
Premium By WP Channel

WP Alacarte propose des produits et services de qualité
made in France pour la plateforme WordPress.

Tout est prêt pour créer votre site à la carte !

  • Thèmes et extensions premium
  • Facilité d’utilisation garantie
  • Temps de chargement optimisé
  • Personnalisation avancée
Découvrir

Rejoignez la communauté WordPress !

Faites partie de l’aventure en devenant membre d’une association WordPress. Conférences, ateliers, BarCamp, WordCamp… Venez
partager votre passion pour WordPress !

Aurélien DENIS,
président des associations WordPress Francophone et WPMX