use*_*122 10 php wordpress wordpress-theming wordpress-plugin shortcode
我想通过循环外的id获取帖子内容,所以我使用以下代码:
echo get_post_field('post_content', $postid);
Run Code Online (Sandbox Code Playgroud)
它工作正常,但是,如果帖子包含任何短代码,则短代码无法正常工作.它只将短代码作为纯文本回显.
示例:我在编辑器中使用以下代码在图像中显示图像和标题文本:
[caption id="attachment_23" align="alignnone" width="300"]<img class="size-medium wp-image-23 " alt="" src="http://localhost/wordpress/wp-content/uploads/2014/03/Desert-300x225.jpg" width="300" height="225" /> this is caption[/caption]
Run Code Online (Sandbox Code Playgroud)
但是当我使用函数获取此帖子内容时get_post_field(),它显示:而不是显示标题文本.
[caption id="attachment_23" align="alignnone" width="300"]this is caption[/caption]
Run Code Online (Sandbox Code Playgroud)
有解决方案吗
注意:我正在使用ajax来获取内容
Rah*_*zir 20
这将有效:
echo do_shortcode(get_post_field('post_content', $postid));
Run Code Online (Sandbox Code Playgroud)
and*_*tor 12
您需要在显示内容之前过滤内容,因此请尝试以下代码:
echo apply_filters( 'the_content', get_post_field('post_content', $postid) );
Run Code Online (Sandbox Code Playgroud)
更新:
您无法使用挂钩的Ajax调用输出短代码wp_ajax.
WP Ajax通过公共和封闭电话运行admin.php.这意味着您无权访问整个wp环境,例如do_shortcode()内部/wp-includes/shortcodes.php.
| 归档时间: |
|
| 查看次数: |
24525 次 |
| 最近记录: |