Obține conținutul unui articol WordPress după ID-ul articolului

17 feb. 2011, 22:52:31
Vizualizări: 543K
Voturi: 183

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

0
Toate răspunsurile la întrebare 5
5
216

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;
17 feb. 2011 23:19:09
Comentarii

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

Rarst Rarst
17 feb. 2011 23:39:16

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

Average Joe Average Joe
4 nov. 2013 13:02:56

@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.

Harish Chouhan Harish Chouhan
18 mar. 2014 11:21:27

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

cyptus cyptus
9 mar. 2018 15:47:29

Există vreo modalitate de a păstra "more_link"?

user2128576 user2128576
5 iul. 2018 04:46:02
4
158
echo get_post_field('post_content', $post_id); // afișează conținutul articolului folosind ID-ul acestuia
5 oct. 2012 16:50:55
Comentarii

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ă.

Karel Attl Karel Attl
17 ian. 2013 09:10:39

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.

mcont mcont
8 aug. 2014 16:21:41

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

Alexander Taubenkorb Alexander Taubenkorb
23 sept. 2015 15:23:44

apply_filters este o opțiune bună, dar nu a fost potrivită pentru scopul meu actual. Este bine să avem ambele opțiuni.

KnightHawk0811 KnightHawk0811
5 nov. 2015 20:12:38
0
49

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.

2 dec. 2016 07:15:41
0

Î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)),

Referință

3 feb. 2021 16:30:08
1
-5

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ță.

20 nov. 2015 23:18:14
Comentarii

Acest răspuns nu înțelege corect întrebarea

wickywills wickywills
21 apr. 2022 09:56:46