Yanıtlar:
Bunu birden çok şekilde yapabilirsiniz. Aşağıdaki en iyi iki yol vardır.
$post_id = 5// example post id
$post_content = get_post($post_id);
$content = $post_content->post_content;
echo do_shortcode( $content );//executing shortcodes
Diğer yöntem
$content = get_post_field('post_content', $post_id);
echo do_shortcode( $content );//executing shortcodes
Pieter Goosen'den sonra öneri apply_filters
.
apply_filters
İçeriğin diğer eklentiler tarafından filtrelenmesini istiyorsanız kullanabilirsiniz . Böylece bu,do_shortcode
Misal
$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.
Diğer eklentilerin bu içeriği filtrelemesine izin vermek istemiyorsanız ve kısa kod işlevine ihtiyacınız varsa ile devam edin do_shortcode
.
Kısa kod da istemiyorsanız, sadece ile oynayın post_content
.
do_shortcode
raw content
. Gönderiye gömülü hiçbir kısa kod işlenmeyecektir. bu yüzden bunu kendimiz yapıyoruzdo_shortcode
apply_filters( 'the_content', $content );
, bu şekilde, uygulanan tüm filtreleri için the_content()
ister wpautop
ve shortcode işleyicisi, uygulanır $content
. ;-). Çoğul Notfilters
apply_filters
yerine do_shortcode
. Ancak, apply_filter
kullanım tamamen çevre kararlarına dayanmaktadır. Cevabımı da güncelleyeyim. Topluluğa gösterdiğiniz özen için teşekkür ederiz @PieterGoosen
Burada, bazen yararlı bulabileceğiniz başka bir çirkin çirkin yol bırakacağım. Tabii ki API çağrılarını kullanan yöntemler her zaman tercih edilir (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);
get_page()
. Çok uzun zaman önce kullanımdan kaldırıldı. Ayrıca, bu konuyla ilgili sitede sınırsız miktarda kaynak var, hatta google bu konuda tonlarca bilgiye sahip