Wie erhalten Sie formatierten Inhalt eines Beitrags mithilfe der WordPress-API?

8

Ich habe es versucht

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

basierend auf der Dokumentation hier .

Der Artikel, den ich abrufen möchte, enthält Funktionscode, der von einem Plugin auf meiner Website erfasst und dann in HTML formatiert wird.

Das Problem ist, wenn ich den post_content auf der Site ausgebe, der Funktionscode nicht vom Plugin erfasst wird und ich den Funktionscode effektiv einfach direkt in den Browser schreibe.

Gibt es eine Möglichkeit, den Funktionscode richtig auszuwerten? Oder benutze ich die falsche Funktion?

Joseph
quelle

Antworten:

23

Das Objektfeld von Post enthält Rohinhalte, wie sie in der Datenbank gespeichert sind. Dies sollte es so formatieren, wie es beim Abrufen mit Vorlagen-Tags angezeigt wird:

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

Dieser Filter führt eine Reihe von Formatierungsfunktionen aus, einschließlich der Analyse von Shortcodes. Etwas in der Nähe davon:

>>>>>   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) 
Selten
quelle
Ich danke dir sehr. Ich habe ungefähr eine Stunde lang im Kodex gesucht.
Joseph
@Joseph - Obwohl viele in der WordPress-Kerngemeinschaft sehr stolz auf den Codex sind, finde ich es auch äußerst schwierig, irgendetwas darin zu finden, es sei denn, Sie wissen bereits, wonach Sie suchen. Gott sei Dank für WordPress Answers!
MikeSchinkel
genau das, wonach ich gesucht habe :)
Atif Mohammed Ameenuddin
@ MikeSchinkel Ich neige dazu, eine Textsuche auf einer lokalen Kopie des Kerns durchzuführen, wenn ich in dieser Situation bin ... aber der Kodex gibt mir normalerweise einen
Hinweis