Yayın içeriğini kimliğe göre alma


10

Bir gönderinin içeriğini posta kimliğine göre nasıl alabilirim? get_page('ID');İçerik göstermeye çalıştım ama işe yaramıyor.


1
Aşağıdakiler, belgeleri okumayı bile denemediğiniz için 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
Pieter Goosen

Yanıtlar:


17

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.


Neden kullandığınızı merak edindo_shortcode
Pieter Goosen

Merhaba sorduğunuz için teşekkürler. @PieterGoosen Gönderiyi alıyoruz raw content. Gönderiye gömülü hiçbir kısa kod işlenmeyecektir. bu yüzden bunu kendimiz yapıyoruzdo_shortcode
WPTC-Troop

2
Daha iyi bir yol kullanımına olacağını apply_filters( 'the_content', $content );, bu şekilde, uygulanan tüm filtreleri için the_content()ister wpautopve shortcode işleyicisi, uygulanır $content. ;-). Çoğul Notfilters
Pieter Goosen'ın

1
Evet, mantıklı kullanmak apply_filtersyerine do_shortcode. Ancak, apply_filterkullanı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
WPTC-Troop

0

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
    )
);

0
$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);

1
Lütfen yanıtınızı düzenleyin ve bir açıklama ekleyin: bu sorunu neden çözebilir?
fuxia

-1

Kullanarak get_page('ID').

$page_id = 123;  //Page ID
$page_data = get_page($page_id); 
$title = $page_data->post_title; 
$content = $page_data->post_content;

1
Eğer gerçekten belgeleri okumak için bile deneyin vermedi gibi aşağı oy. get_page()amortismana tabi
tutuldu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.