Nhận nội dung bài đăng WordPress bằng id bài


141

Làm cách nào tôi có thể nhận được nội dung bài đăng WordPress bằng id bài đăng?

Câu trả lời:


177

Đơn giản như nó được

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

85
Viết tắt cho lĩnh vực cụ thể:$content = get_post_field('post_content', $my_postid);
Rarst

4
@BaiNET Tôi chỉ tò mò ở đây ... phần này $content = str_replace(']]>', ']]>', $content);làm gì? mục đích của nó ở đó là gì?
Trung bình Joe

1
@AlusiveJoe tìm kiếm cơ bản và thay thế. Khi sử dụng the_content () nội dung được lọc. Vì trong ví dụ trên, nội dung được lấy trực tiếp, tác giả đã sử dụng tìm kiếm và thay thế để làm cho nó an toàn.
Harish Chouhan

2
có lẽ bạn cũng cần do_shortcode () như$content = do_shortcode(get_post_field('post_content', $my_postid));
cyptus

Có cách nào để bảo tồn "more_link" không?
user2128576

126
echo get_post_field('post_content', $post_id);

61
tốt hơn để làm điều đó như echo apply_filters('the_content', get_post_field('post_content', $post_id));. Ví dụ: khi sử dụng qTranslate, giải pháp của bạn sẽ không đủ.
Karel Attl

4
Đây là câu trả lời tốt nhất nếu phạm vi là để có được nội dung bài đăng như trong trang chỉnh sửa WordPress.
mcont 8/8/14

Nếu không có mã từ dòng @KarelAttl thì bị thiếu. Với mã áp dụng_filters, nó hoạt động hoàn hảo.
Alexander Taubenkorb

1
apply_filterslà một lựa chọn tốt, nhưng không phù hợp với mục đích hiện tại của tôi. Thật tốt khi có cả hai lựa chọn.
KnightHawk

25

Một cách khác để có được nội dung bài đăng WordPress bằng id bài đăng là:

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

Để hoàn thành câu trả lời này, tôi cũng đã thêm phương pháp 01 và phương thức 02 vào câu trả lời này.

Phương thức 01 (tín dụng vào bai Internet ):

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

Phương thức 02 (tín dụng vào realmag777 ):

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

Phương pháp 03:

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

Đọc cách tốt nhất / hiệu quả để có được nội dung WordPress bằng id bài đăng là gì và tại sao? câu hỏi để có một ý tưởng về cái nào bạn nên sử dụng từ ba ở trên.


0

Nếu bạn cần nhiều hơn một bài, sử dụng get_posts(). Nó để lại truy vấn chính và trả về một loạt các bài đăng dễ lặp lại.

Licensed under cc by-sa 3.0 with attribution required.