通过帖子ID获取WordPress帖子内容


141

如何通过帖子ID获取WordPress帖子内容?

Answers:


177

变得简单

$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
特定领域的简写:$content = get_post_field('post_content', $my_postid);
拉斯特

4
@Bainternet我很好奇...这是$content = str_replace(']]>', ']]>', $content);做什么的?那里的目的是什么?
平均乔

1
@AverageJoe其基本搜索和替换。使用the_content()时,将过滤内容。由于在上面的示例中直接检索了内容,因此作者使用搜索和替换来确保内容安全。
Harish Chouhan 2014年

2
也许您还需要do_shortcode(),例如$content = do_shortcode(get_post_field('post_content', $my_postid));
cy18年

无论如何,有保留“ more_link”的内容吗?
user2128576'7

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

61
最好这样做echo apply_filters('the_content', get_post_field('post_content', $post_id));。例如,当使用qTranslate时,您的解决方案是不够的。
卡雷尔·阿特尔

4
如果范围是获取帖子内容,就像在WordPress编辑页面中那样,这是最佳答案。
mcont 2014年

如果没有@KarelAttl的代码,则缺少行中断。使用apply_filters代码,它可以完美地工作。
亚历山大·陶本科布

1
apply_filters是一个不错的选择,但不适合我当前的目的。两种选择都很好。
KnightHawk

25

通过帖子ID获取WordPress帖子内容的另一种方法是:

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

为了完成此答案,我还向该答案中添加了方法01和方法02。

方法01(贷记给bainternet):

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

方法02(贷记进入realmag777):

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

方法03:

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

阅读通过邮编ID获取WordPress内容的最佳/有效方法是什么,为什么?问题,以了解您应该从以上三个中使用哪个。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.