Tunduk karena Anda bahkan tidak mencoba membaca dokumen get_page(). Sudah lama tidak digunakan. Juga, ada sumber daya dalam jumlah tak terbatas di situs mengenai masalah ini, bahkan google memiliki banyak info tentang ini
Pieter Goosen
Jawaban:
17
Anda dapat melakukannya dengan berbagai cara. Berikut ini adalah dua cara terbaik.
$post_id =5// example post id
$post_content = get_post($post_id);
$content = $post_content->post_content;
echo do_shortcode( $content );//executing shortcodes
Anda dapat menggunakan apply_filtersjika Anda ingin kontennya difilter oleh plugin lain. Jadi ini menghilangkan kebutuhan untuk digunakando_shortcode
Contoh
$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.
Jika Anda tidak ingin mengizinkan plugin lain untuk memfilter konten ini dan memerlukan fungsi kode pendek, ikuti saja do_shortcode.
Jika Anda tidak ingin kode pendek juga maka cukup mainkan dengan post_content.
Hanya ingin tahu mengapa Anda menggunakando_shortcode
Pieter Goosen
Hai terima kasih telah bertanya. @PieterGoosen Karena kami mendapatkan raw contentpos. Kode pendek apa pun yang disematkan dalam pos tidak akan diproses. jadi kami melakukan itu sendiri dengando_shortcode
WPTC-Pasukan
2
Cara yang lebih baik adalah dengan menggunakan apply_filters( 'the_content', $content );, dengan cara ini, semua filter yang diterapkan the_content()menyukai wpautopdan penangan kode pendek, diterapkan $content. ;-). Perhatikan bentuk jamaknyafilters
Pieter Goosen
1
Ya, menggunakan apply_filtersbukannya do_shortcodemasuk akal. Tetapi menggunakan apply_filtermurni berdasarkan keputusan lingkungan mereka. Biarkan saya memperbarui jawaban saya juga. Terima kasih banyak atas perhatian Anda pada komunitas @PieterGoosen
WPTC-Troop
0
Saya akan meninggalkan di sini cara jelek lain yang mungkin berguna bagi Anda. Tentu saja metode yang menggunakan panggilan API selalu lebih disukai (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()
. Sudah lama tidak digunakan. Juga, ada sumber daya dalam jumlah tak terbatas di situs mengenai masalah ini, bahkan google memiliki banyak info tentang iniJawaban:
Anda dapat melakukannya dengan berbagai cara. Berikut ini adalah dua cara terbaik.
Metode lain
Setelah Pieter Goosen saran pada
apply_filters
.Anda dapat menggunakan
apply_filters
jika Anda ingin kontennya difilter oleh plugin lain. Jadi ini menghilangkan kebutuhan untuk digunakando_shortcode
Contoh
Jika Anda tidak ingin mengizinkan plugin lain untuk memfilter konten ini dan memerlukan fungsi kode pendek, ikuti saja
do_shortcode
.Jika Anda tidak ingin kode pendek juga maka cukup mainkan dengan
post_content
.sumber
do_shortcode
raw content
pos. Kode pendek apa pun yang disematkan dalam pos tidak akan diproses. jadi kami melakukan itu sendiri dengando_shortcode
apply_filters( 'the_content', $content );
, dengan cara ini, semua filter yang diterapkanthe_content()
menyukaiwpautop
dan penangan kode pendek, diterapkan$content
. ;-). Perhatikan bentuk jamaknyafilters
apply_filters
bukannyado_shortcode
masuk akal. Tetapi menggunakanapply_filter
murni berdasarkan keputusan lingkungan mereka. Biarkan saya memperbarui jawaban saya juga. Terima kasih banyak atas perhatian Anda pada komunitas @PieterGoosenSaya akan meninggalkan di sini cara jelek lain yang mungkin berguna bagi Anda. Tentu saja metode yang menggunakan panggilan API selalu lebih disukai (get_post (), get_the_content (), ...).
sumber
sumber
Dengan menggunakan
get_page('ID')
.sumber
get_page()
disusutkan