Risposte:
Puoi farlo in diversi modi. Di seguito sono riportati i due modi migliori.
$post_id = 5// example post id
$post_content = get_post($post_id);
$content = $post_content->post_content;
echo do_shortcode( $content );//executing shortcodes
Un altro metodo
$content = get_post_field('post_content', $post_id);
echo do_shortcode( $content );//executing shortcodes
Dopo il suggerimento di Pieter Goosen su apply_filters
.
Puoi usarlo apply_filters
se desideri che il contenuto venga filtrato da altri plugin. Quindi questo elimina la necessità di usaredo_shortcode
Esempio
$post_id = 5// example post id
$post_content = get_post($post_id);
$content = $post_content->post_content;
echo apply_filters('the_content',$content);
//no need to use do_shortcode, but content might be filtered by other plugins.
Se non vuoi consentire ad altri plugin di filtrare questo contenuto e hai bisogno della funzione shortcode, vai avanti do_shortcode
.
Se non vuoi anche lo shortcode, gioca con il post_content
.
do_shortcode
raw content
post. Qualsiasi shortcode incorporato nel post non verrà elaborato. quindi lo stiamo facendo da do_shortcode
apply_filters( 'the_content', $content );
, in questo modo, tutti i filtri applicati a the_content()
like wpautop
e il gestore di shortcode, a cui viene applicato $content
. ;-). Nota il pluralefilters
apply_filters
invece di do_shortcode
avere un senso. Ma l'utilizzo apply_filter
si basa esclusivamente sulla decisione ambientale. Vorrei aggiornare anche la mia risposta. Grazie mille per la tua attenzione nella community @PieterGoosen
Lascerò qui un altro brutto modo bizzarro che potresti trovare utile a volte. Ovviamente i metodi che utilizzano le chiamate API sono sempre preferiti (get_post (), get_the_content (), ...).
global $wpdb;
$post_id = 123; // fill in your desired post ID
$post_content_raw = $wpdb->get_var(
$wpdb->prepare(
"select post_content from $wpdb->posts where ID = %d",
$post_id
)
);
$id = 23; // add the ID of the page where the zero is
$p = get_page($id);
$t = $p->post_title;
echo '<h3>'.apply_filters('post_title', $t).'</h3>'; // the title is here wrapped with h3
echo apply_filters('the_content', $p->post_content);
Usando get_page('ID')
.
$page_id = 123; //Page ID
$page_data = get_page($page_id);
$title = $page_data->post_title;
$content = $page_data->post_content;
get_page()
è ammortizzato
get_page()
. È stato ammortizzato molto tempo fa. Inoltre, sul sito è disponibile una quantità illimitata di risorse in merito a questo problema, anche Google ha tonnellate di informazioni al riguardo