Dapatkan konten posting WordPress melalui id pos

141

Bagaimana saya bisa mendapatkan konten posting WordPress dengan id posting?

m3tsys
sumber

Jawaban:

177

Sederhana karena mendapat

$my_postid = 12;//This is page id or post id
$content_post = get_post($my_postid);
$content = $content_post->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
Bainternet
sumber
85
Singkatan untuk bidang tertentu:$content = get_post_field('post_content', $my_postid);
Rarst
4
@Bainternet Saya hanya ingin tahu di sini ... apa perannya $content = str_replace(']]>', ']]>', $content);? apa tujuannya di sana?
Rata
1
@AverageJoe mencari dan mengganti dasarnya. Saat menggunakan konten_ (konten) difilter. Karena dalam contoh di atas konten langsung diambil, penulis telah menggunakan pencarian dan ganti untuk membuatnya aman.
Harish Chouhan
2
mungkin Anda juga perlu do_shortcode () seperti$content = do_shortcode(get_post_field('post_content', $my_postid));
cyptus
Apakah ada cara untuk mempertahankan "more_link"?
user2128576
126
echo get_post_field('post_content', $post_id);
realmag777
sumber
61
lebih baik melakukannya seperti echo apply_filters('the_content', get_post_field('post_content', $post_id));. Misalnya saat menggunakan qTranslate, solusi Anda tidak akan cukup.
Karel Attl
4
Ini adalah jawaban terbaik jika ruang lingkupnya adalah untuk mendapatkan konten posting seperti di halaman edit WordPress.
mcont
Tanpa kode dari baris @KarelAttl istirahat di mana hilang. Dengan kode apply_filters berfungsi dengan baik.
Alexander Taubenkorb
1
apply_filtersadalah pilihan yang baik, tetapi tidak tepat untuk tujuan saya saat ini. Baik memiliki kedua opsi.
KnightHawk
25

Cara lain untuk mendapatkan konten posting WordPress dengan id posting adalah:

$content = apply_filters('the_content', get_post_field('post_content', $my_postid));

Untuk melengkapi jawaban ini saya juga menambahkan metode 01 dan metode 02 untuk jawaban ini.

Metode 01 (kredit diberikan ke bainternet ):

$content_post = get_post($my_postid);
$content = $content_post->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);

Metode 02 (kredit masuk ke realmag777 ):

$content = get_post_field('post_content', $my_postid);

Metode 03:

$content = apply_filters('the_content', get_post_field('post_content', $my_postid));

Baca Apa cara terbaik / efisien untuk mendapatkan konten WordPress dengan memposting id dan mengapa? pertanyaan untuk mendapatkan ide tentang mana yang harus Anda gunakan dari ketiga di atas.

Ranuka
sumber
0

Jika Anda membutuhkan lebih dari satu posting, gunakan get_posts(). Itu meninggalkan kueri utama sendiri dan mengembalikan array posting yang mudah diulang.

DigitalDesignDj
sumber