我想通过循环外的id获取帖子内容, 所以我正在使用以下代码:
echo get_post_field('post_content', $postid);
效果很好, 但是, 如果帖子中包含任何短代码, 则这些短代码将无法正常工作。它仅将简码作为纯文本回显。
示例:我在编辑器中使用以下代码来显示图像和图像中的标题文本:
<
img class="size-medium wp-image-23 " src="http://localhost/wordpress/wp-content/uploads/2014/03/Desert-300x225.jpg" width="300" height="225" />
this is caption
但是, 当我使用get_post_field()函数获取此帖子内容时, 它不显示标题文本, 而是显示:
this is caption
有什么办法吗?
N.B:我正在使用Ajax获取内容
#1这将起作用:
echo do_shortcode(get_post_field('post_content', $postid));
编辑
【WordPress(使用函数get_post_field()获取帖子内容时,短代码不起作用)】如果要在Ajax中强制输出简码, 请参见在AJAX请求中运行简码
#2你需要在显示内容之前对其进行过滤, 因此请尝试以下代码:
echo apply_filters( 'the_content', get_post_field('post_content', $postid) );
更新:你无法使用挂接到wp_ajax的ajax调用来输出短代码。 WP Ajax通过admin.php运行公开调用和封闭调用。这意味着你无权访问整个wp环境, 例如/wp-includes/shortcodes.php中的do_shortcode()。
#3这对我有用。
回声apply_filters(‘ the_content’ , get_post_field(‘ post_content’ , $ postid));
当我在循环外进行操作时。
推荐阅读
- WordPress根据文章类别显示或隐藏文章标题
- WordPress短代码参数
- WordPress通过一致的网址提供资源
- WordPress搜索返回所有页面,与搜索词无关
- WordPress-发送有关元数据更改的电子邮件
- WordPress搜索栏结果空白页
- #yyds干货盘点#项目实战 <-; DeepSORT算法实现车辆和行人跟踪计数和是否道路违规检测
- 引导过程与服务控制
- 入门C++基础知识