Ottenere il contenuto di un post WordPress tramite l'ID del post

17 feb 2011, 22:52:31
Visualizzazioni: 543K
Voti: 183

Come posso ottenere il contenuto di un post WordPress utilizzando l'ID del post?

0
Tutte le risposte alla domanda 5
5
216

Semplice come può essere

$my_postid = 12;//Questo è l'id della pagina o del post
$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
Commenti

Scorciatoia per un campo specifico: $content = get_post_field('post_content', $my_postid);

Rarst Rarst
17 feb 2011 23:39:16

@Bainternet sono solo curioso... a cosa serve la parte $content = str_replace(']]>', ']]>', $content);? qual è il suo scopo?

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

@AverageJoe è una semplice ricerca e sostituzione. Quando si usa the_content() il contenuto viene filtrato. Poiché nell'esempio sopra il contenuto è stato recuperato direttamente, l'autore ha utilizzato la ricerca e sostituzione per renderlo sicuro.

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

forse hai anche bisogno di do_shortcode() come $content = do_shortcode(get_post_field('post_content', $my_postid));

cyptus cyptus
9 mar 2018 15:47:29

C'è un modo per preservare il "more_link"?

user2128576 user2128576
5 lug 2018 04:46:02
4
158
echo get_post_field('post_content', $post_id);
5 ott 2012 16:50:55
Commenti

meglio farlo come echo apply_filters('the_content', get_post_field('post_content', $post_id));. Per esempio quando si usa qTranslate, la tua soluzione non sarebbe sufficiente.

Karel Attl Karel Attl
17 gen 2013 09:10:39

Questa è la migliore risposta se l'obiettivo è ottenere il contenuto del post così come appare nella pagina di modifica di WordPress.

mcont mcont
8 ago 2014 16:21:41

Senza il codice di @KarelAttl mancavano le interruzioni di riga. Con il codice apply_filters funziona perfettamente.

Alexander Taubenkorb Alexander Taubenkorb
23 set 2015 15:23:44

apply_filters è una buona opzione, ma non era adatta al mio scopo attuale. È utile avere entrambe le opzioni.

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

Un altro modo per ottenere il contenuto di un post WordPress tramite l'ID del post è:

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

Per completare questa risposta ho aggiunto anche il metodo 01 e il metodo 02.

Metodo 01 (il merito va a bainternet):

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

Metodo 02 (il merito va a realmag777):

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

Metodo 03:

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

Leggi la domanda Qual è il modo migliore/più efficiente per ottenere il contenuto WordPress tramite l'ID del post e perché? per capire quale dei tre metodi dovresti utilizzare.

2 dic 2016 07:15:41
0

A partire da WordPress 5.2.0,

Possiamo ora utilizzare l'oggetto post o l'ID del post nella funzione get_the_content.

Possiamo anche passare $more_link_text e $strip_teaser

get_the_content( string $more_link_text = null, bool $strip_teaser = false, WP_Post|object|int $post = null )

Possiamo utilizzarlo insieme a apply_filters come mostrato di seguito per ottenere tutti i filtri di the_content

apply_filters( 'the_content', get_the_content(null, false, $post_id)),

Riferimento

3 feb 2021 16:30:08
1
-5

Se hai bisogno di più di un articolo, utilizza get_posts(). Questa funzione lascia inalterata la query principale e restituisce un array di articoli facile da scorrere in un ciclo.

20 nov 2015 23:18:14
Commenti

Questa risposta non comprende la domanda

wickywills wickywills
21 apr 2022 09:56:46