Réponses:
Vous pouvez le faire de plusieurs façons. Voici les deux meilleures façons.
$post_id = 5// example post id
$post_content = get_post($post_id);
$content = $post_content->post_content;
echo do_shortcode( $content );//executing shortcodes
Une autre méthode
$content = get_post_field('post_content', $post_id);
echo do_shortcode( $content );//executing shortcodes
Après la suggestion de Pieter Goosen apply_filters
.
Vous pouvez utiliser apply_filters
si vous souhaitez que le contenu soit filtré par d'autres plugins. Cela élimine donc la nécessité d'utiliserdo_shortcode
Exemple
$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.
Si vous ne voulez pas autoriser d'autres plugins à filtrer ce contenu et avez besoin d'une fonction de shortcode, allez-y do_shortcode
.
Si vous ne voulez pas non plus de shortcode, jouez simplement avec le post_content
.
do_shortcode
raw content
message. Tout shortcode intégré dans la publication ne sera pas traité. donc nous le faisons nousdo_shortcode
apply_filters( 'the_content', $content );
, de cette façon, tous les filtres qui sont appliqués à the_content()
aimer wpautop
et le gestionnaire de shortcode, est appliqué à $content
. ;-). Notez le plurielfilters
apply_filters
au lieu de do_shortcode
donner un sens. Mais l'utilisation apply_filter
est uniquement basée sur leur décision environnementale. Permettez-moi également de mettre à jour ma réponse. Merci beaucoup pour vos soins sur la communauté @PieterGoosen
Je vais juste laisser ici une autre façon laide et hacky que vous pouvez trouver utile parfois. Bien sûr, les méthodes qui utilisent des appels API sont toujours préférées (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);
En utilisant 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()
est déprécié
get_page()
. Il est obsolète depuis très longtemps. En outre, il existe une quantité illimitée de ressources sur le site concernant ce problème, même Google a des tonnes d'informations à ce sujet