Holen Sie sich WordPress Post-Inhalt von Post-ID

141

Wie kann ich WordPress-Post-Content nach Post-ID erhalten?

m3tsys
quelle

Antworten:

177

Einfach wie es nur geht

$my_postid = 12;//This is page id or post id
$content_post = get_post($my_postid);
$content = $content_post->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
Bainternet
quelle
85
Abkürzung für ein bestimmtes Feld:$content = get_post_field('post_content', $my_postid);
Rarst
4
@Bainternet Ich bin nur neugierig hier ... was soll das Teil $content = str_replace(']]>', ']]>', $content);machen? Was ist der Zweck davon dort?
Durchschnittlicher Joe
1
@AverageJoe seine grundlegenden Suchen und Ersetzen. Bei Verwendung von the_content () wird der Inhalt gefiltert. Da im obigen Beispiel der Inhalt direkt abgerufen wurde, hat der Autor das Suchen und Ersetzen verwendet, um ihn sicher zu machen.
Harish Chouhan
2
Vielleicht brauchst du auch do_shortcode () wie$content = do_shortcode(get_post_field('post_content', $my_postid));
cyptus
Gibt es sowieso den "more_link" zu erhalten?
user2128576
126
echo get_post_field('post_content', $post_id);
realmag777
quelle
61
besser es so zu machen echo apply_filters('the_content', get_post_field('post_content', $post_id));. Wenn Sie beispielsweise qTranslate verwenden, reicht Ihre Lösung nicht aus.
Karel Attl
4
Dies ist die beste Antwort, wenn der Inhalt des Beitrags so abgerufen werden soll, wie er auf der WordPress-Bearbeitungsseite angezeigt wird.
mcont
Ohne den Code von @KarelAttl fehlen Zeilenumbrüche. Mit dem apply_filters-Code hat es perfekt funktioniert.
Alexander Taubenkorb
1
apply_filtersist eine gute Option, aber für meinen aktuellen Zweck nicht geeignet. Es ist gut, beide Möglichkeiten zu haben.
KnightHawk
25

Eine andere Möglichkeit, einen WordPress-Beitragsinhalt anhand der Beitrags-ID abzurufen, ist:

$content = apply_filters('the_content', get_post_field('post_content', $my_postid));

Um diese Antwort zu vervollständigen, habe ich auch Methode 01 und Methode 02 zu dieser Antwort hinzugefügt.

Methode 01 (Gutschrift geht an bainternet ):

$content_post = get_post($my_postid);
$content = $content_post->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);

Methode 02 (Gutschrift geht an realmag777 ):

$content = get_post_field('post_content', $my_postid);

Methode 03:

$content = apply_filters('the_content', get_post_field('post_content', $my_postid));

Lesen Sie unter Was ist der beste / effizienteste Weg, um WordPress-Inhalte nach Post-ID zu erhalten, und warum? Frage, um eine Vorstellung davon zu bekommen, welche von den drei oben genannten Sie verwenden sollten.

Ranuka
quelle
0

Wenn Sie mehr als einen Beitrag benötigen, verwenden Sie get_posts(). Sie lässt die Hauptabfrage in Ruhe und gibt eine Reihe von Posts zurück, die sich leicht durchlaufen lassen.

DigitalDesignDj
quelle