Respostas:
Você pode fazer isso de várias maneiras. A seguir, são duas melhores maneiras.
$post_id = 5// example post id
$post_content = get_post($post_id);
$content = $post_content->post_content;
echo do_shortcode( $content );//executing shortcodes
Outro método
$content = get_post_field('post_content', $post_id);
echo do_shortcode( $content );//executing shortcodes
Após a sugestão de Pieter Goosen em apply_filters
.
Você pode usar apply_filters
se quiser que o conteúdo seja filtrado por outros plugins. Portanto, isso elimina a necessidade de usardo_shortcode
Exemplo
$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 você não quiser permitir que outros plugins filtrem esse conteúdo e precise da função de código de acesso, siga em frente do_shortcode
.
Se você também não deseja código curto, apenas brinque com o post_content
.
do_shortcode
raw content
post. Qualquer código abreviado incorporado à postagem não será processado. assim que nós estamos fazendo isso por nós mesmos comdo_shortcode
apply_filters( 'the_content', $content );
, dessa maneira, todos os filtros aplicados ao the_content()
like wpautop
e o manipulador de códigos curtos $content
. ;-). Observe o pluralfilters
apply_filters
vez de do_shortcode
fazer sentido. Mas o uso apply_filter
é puramente baseado em sua decisão ambiental. Deixe-me atualizar minha resposta também. Muito obrigado pelo seu carinho na comunidade @PieterGoosen
Vou deixar aqui outra maneira feia e hacky que você pode achar útil às vezes. Obviamente, os métodos que usam chamadas de API são sempre preferidos (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()
é depreciado
get_page()
. Foi preterido há muito tempo. Além disso, há uma quantidade ilimitada de recursos no local sobre este assunto, até mesmo o Google tem toneladas de informação sobre este