Ottieni contenuti post su WordPress per ID post


141

Come posso ottenere i contenuti dei post di WordPress per ID post?

Risposte:


177

Semplice come si arriva

$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;

85
Stenografia per il campo specifico:$content = get_post_field('post_content', $my_postid);
Rarst

4
@Bainternet Sono solo curioso qui ... cosa fa la parte $content = str_replace(']]>', ']]>', $content);? qual è lo scopo lì?
Media Joe

1
@AverageJoe la sua ricerca di base e sostituire. Quando si utilizza the_content () il contenuto viene filtrato. Poiché nell'esempio sopra il contenuto è stato recuperato direttamente, l'autore ha utilizzato la ricerca e la sostituzione per renderlo sicuro.
Harish Chouhan,

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

Esiste un modo per preservare il "more_link"?
user2128576

126
echo get_post_field('post_content', $post_id);

61
meglio farlo come echo apply_filters('the_content', get_post_field('post_content', $post_id));. Ad esempio, quando si utilizza qTranslate, la soluzione non sarebbe sufficiente.
Karel Attl,

4
Questa è la risposta migliore se l'ambito è quello di ottenere il contenuto del post così com'è nella pagina di modifica di WordPress.
Mc

Senza il codice di @KarelAttl le interruzioni di riga sono mancanti. Con il codice apply_filters ha funzionato perfettamente.
Alexander Taubenkorb,

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

25

Un altro modo per ottenere un contenuto di un post di WordPress per ID post è:

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

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

Metodo 01 (il credito 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 credito 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 Qual è il modo migliore / efficiente per ottenere contenuti WordPress per ID post e perché? domanda per avere un'idea di quale si dovrebbe usare dai tre precedenti.


0

Se hai bisogno di più di un post, usa get_posts(). Lascia da sola la query principale e restituisce una serie di post che è facile da ripetere.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.