Come ottenere il contenuto formattato di un articolo utilizzando l'API di WordPress?

17 ott 2010, 01:02:03
Visualizzazioni: 23.2K
Voti: 9

Ho provato ad usare

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

basandomi sulla documentazione qui.

L'articolo che sto cercando di recuperare contiene Shortcode, che viene interpretato da un plugin nel mio sito e poi formattato in HTML.

Il problema è che quando mostro il post_content nel sito, lo shortcode non viene interpretato dal plugin e di fatto viene mostrato direttamente lo shortcode nel browser.

C'è un modo per far valutare correttamente lo shortcode? O sto usando la funzione sbagliata?

0
Tutte le risposte alla domanda 1
4
25

Il campo object del post contiene il contenuto grezzo così come è memorizzato nel database. Questo codice lo formatta come apparirebbe quando recuperato con i tag template:

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

Questo filtro esegue una serie di funzioni di formattazione, inclusa l'elaborazione degli shortcode. Qualcosa di simile a questo:

>>>>>   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) 
17 ott 2010 01:20:53
Commenti

GRAZIE MILLE. Ho cercato nel codex per circa un'ora.

Joseph Joseph
17 ott 2010 01:23:30

@Joseph - Anche se molti nella comunità core di WordPress sono molto orgogliosi del Codex, trovo anch'io estremamente difficile trovare qualcosa al suo interno a meno che non si sappia già cosa si sta cercando. Grazie al cielo per WordPress Answers!

MikeSchinkel MikeSchinkel
17 ott 2010 10:32:57

esattamente quello che stavo cercando :)

Atif Atif
17 giu 2011 12:42:33

@MikeSchinkel Di solito faccio una ricerca testuale su una copia locale del core quando mi trovo in quella situazione... ma il codex di solito mi dà un indizio su quale testo cercare ;-)

WraithKenny WraithKenny
2 mar 2012 19:35:36