#1 楼
变得简单$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;
#2 楼
echo get_post_field('post_content', $post_id);
评论
最好像echo echo apply_filters('the_content',get_post_field('post_content',$ post_id));那样做。例如,当使用qTranslate时,您的解决方案是不够的。
– Karel Attl
2013年1月17日7:10
如果范围是获取帖子内容,就像在WordPress编辑页面中那样,这是最佳答案。
–mcont
2014年8月8日13:21
如果没有@KarelAttl的代码,则缺少行中断。使用apply_filters代码,它可以完美地工作。
–亚历山大·陶本科布(Alexander Taubenkorb)
2015年9月23日下午12:23
apply_filters是一个不错的选择,但不适用于我当前的目的。两种选择都很好。
–KnightHawk
2015年11月5日在18:12
#3 楼
通过帖子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内容的最佳/有效方法是什么,为什么?问题,以了解应该从以上三个中使用哪个。
#4 楼
如果您需要多个帖子,请使用get_posts()
。它只保留主查询,并返回易于循环的帖子数组。
评论
特定字段的简写:$ content = get_post_field('post_content',$ my_postid);
–稀有
2011-2-17在21:39
@Bainternet I'm just curious here... what is the part $content = str_replace(']]>', ']]>', $content); do? what's the purpose of it there?
– Average Joe
Nov 4 '13 at 11:02
@AverageJoe其基本搜索和替换。使用the_content()时,将过滤内容。由于在上面的示例中直接检索了内容,因此作者使用搜索和替换来确保内容安全。
– Harish Chouhan
2014年3月18日在9:21
也许您还需要do_shortcode(),例如$ content = do_shortcode(get_post_field('post_content',$ my_postid));
–塞浦路斯
18 Mar 9 '18 at 13:47
无论如何,有保留“ more_link”的内容吗?
–user2128576
18年7月5日在1:46