¿Cómo se obtiene el contenido formateado de una publicación con la API de WordPress?

8

Traté de usar

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

basado en la documentación aquí .

El artículo que estoy tratando de recuperar tiene Código corto, que es recogido por un complemento en mi sitio y luego formateado en HTML.

El problema es cuando envío el post_content al sitio, el código corto no es recogido por el complemento, y efectivamente solo escribo el código corto directamente en el navegador.

¿Hay alguna manera de obtener el código corto evaluado correctamente? ¿O estoy usando la función incorrecta?

José
fuente

Respuestas:

23

El campo de objeto de la publicación contiene contenido sin procesar ya que se almacena en la base de datos. Esto debería formatearlo como aparece cuando se recupera con etiquetas de plantilla:

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

Este filtro ejecuta varias funciones de formateo, incluido el análisis de códigos cortos. Algo parecido a esto:

>>>>>   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) 
Rarst
fuente
Muchas gracias. He estado buscando en el códice durante una hora.
Joseph
@Joseph - Aunque muchos en la comunidad central de WordPress están muy orgullosos del Codex, a mí también me resulta extremadamente difícil encontrar algo en él a menos que ya sepas lo que estás buscando. ¡Gracias a Dios por las respuestas de WordPress!
MikeSchinkel
exactamente lo que estaba buscando :)
Atif Mohammed Ameenuddin
@MikeSchinkel Tiendo a hacer una búsqueda de texto en una copia local del núcleo cuando estoy en esa situación ... pero el códice generalmente me da pistas sobre en qué texto hacer la búsqueda ;-)
WraithKenny