Obține conținutul unui articol WordPress după ID-ul articolului
Cum pot obține conținutul unui articol WordPress folosind ID-ul articolului?

Simplu ca bună ziua
$my_postid = 12;//Acesta este ID-ul paginii sau al articolului
$content_post = get_post($my_postid);
$content = $content_post->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;

Prescurtare pentru un câmp specific: $content = get_post_field('post_content', $my_postid);

@Bainternet Sunt doar curios aici... ce face partea $content = str_replace(']]>', ']]>', $content);
? care este scopul ei acolo?

@AverageJoe este o înlocuire de bază. Când se folosește the_content(), conținutul este filtrat. Deoarece în exemplul de mai sus conținutul a fost preluat direct, autorul a folosit înlocuirea pentru a-l face sigur.

poate ai nevoie și de do_shortcode() precum $content = do_shortcode(get_post_field('post_content', $my_postid));

mai bine să o faci așa echo apply_filters('the_content', get_post_field('post_content', $post_id));
. De exemplu, când folosești qTranslate, soluția ta nu ar fi suficientă.

Acesta este cel mai bun răspuns dacă scopul este să obții conținutul articolului așa cum apare în pagina de editare WordPress.

Fără codul de la @KarelAttl lipseau întreruperile de rând. Cu codul apply_filters a funcționat perfect.

O altă modalitate de a obține conținutul unei postări WordPress după id-ul postării este:
$content = apply_filters('the_content', get_post_field('post_content', $my_postid));
Pentru a completa acest răspuns am adăugat și metoda 01 și metoda 02.
Metoda 01 (credit pentru bainternet):
$content_post = get_post($my_postid);
$content = $content_post->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
Metoda 02 (credit pentru realmag777):
$content = get_post_field('post_content', $my_postid);
Metoda 03:
$content = apply_filters('the_content', get_post_field('post_content', $my_postid));
Citește întrebarea Care este cea mai bună/eficientă modalitate de a obține conținutul WordPress după id-ul postării și de ce? pentru a înțelege care dintre cele trei metode de mai sus ar trebui să o folosești.

Începând cu WordPress 5.2.0,
Putem folosi acum obiectul postării sau ID-ul postării în funcția get_the_content
.
De asemenea, putem transmite $more_link_text și $strip_teaser
get_the_content( string $more_link_text = null, bool $strip_teaser = false, WP_Post|object|int $post = null )
O putem folosi împreună cu apply_filters
ca mai jos pentru a obține toate filtrele din the_content
apply_filters( 'the_content', get_the_content(null, false, $post_id)),

Dacă ai nevoie de mai multe articole, folosește get_posts()
. Aceasta nu modifică interogarea principală și returnează un array de articole care poate fi parcurs cu ușurință.
