Comment obtenir le contenu formaté d'une publication à l'aide de l'API WordPress?


8

J'ai essayé d'utiliser

<?php
$my_id = 7;
$post_id_7 = get_post($my_id); 
echo $post_id_7->post_content;
?> 

basé sur la documentation ici .

L'article que j'essaie de récupérer contient du Short Code, qui est récupéré par un plugin sur mon site, puis formaté en HTML.

Le problème est que lorsque je génère le post_content sur le site, le code court n'est pas récupéré par le plugin, et j'écris simplement le code court directement dans le navigateur.

Existe-t-il un moyen d'obtenir le code court évalué correctement? Ou est-ce que j'utilise la mauvaise fonction?

Réponses:


23

Le champ objet de la publication contient du contenu brut tel qu'il est stocké dans la base de données. Cela devrait le mettre en forme pour qu'il apparaisse lorsqu'il est récupéré avec des balises de modèle:

$content = apply_filters('the_content', $content);

Ce filtre exécute un certain nombre de fonctions de formatage, y compris l'analyse des shortcodes. Quelque chose de proche:

>>>>>   the_content
8   (object) WP_Embed -> run_shortcode (1) 
    (object) WP_Embed -> autoembed (1) 
10  wptexturize (1) 
    convert_smilies (1) 
    convert_chars (1) 
    wpautop (1) 
    shortcode_unautop (1) 
    prepend_attachment (1) 
11  capital_P_dangit (1) 
    do_shortcode (1) 

Merci beaucoup. Je regarde le codex depuis une heure.
Joseph

@Joseph - Bien que de nombreux membres de la communauté WordPress soient très fiers du Codex, je trouve aussi qu'il est extrêmement difficile à utiliser pour y trouver quoi que ce soit à moins que vous ne sachiez déjà ce que vous recherchez. Dieu merci pour les réponses WordPress!
MikeSchinkel

exactement ce que je cherchais :)
Atif Mohammed Ameenuddin

@MikeSchinkel J'ai tendance à faire une recherche de texte sur une copie locale du noyau quand je suis dans cette situation ... mais le codex me donne généralement le texte sur lequel faire la recherche ;-)
WraithKenny
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.