我正在尝试制作一个php脚本,给定一个帖子id,它将返回帖子内容。我不是写文章的人,我只是在一个wp网站上操作。帖子内容是我的一个应用程序,它必须对其进行解析。
我的脚本非常简单:
<?php
require_once("wp-load.php");
if(isset($_GET[\'id\'])){
$post_id = $_GET[\'id\'];
$queried_post = get_post($post_id);
echo $queried_post->post_content;
}
?>
结果是文章,但有时图像会嵌入到[标题]字段中,如下所示:
[caption id="attachment_78971" align="alignnone" width="276"]<a href="href" rel="attachment wp-att-78971"><img class="size-medium wp-image-78971"/></a>[/caption]
其他时候,我只看到图像
<img ...ecc
为什么会这样?有没有一种方法可以强制执行相同的输出,而不管是谁写的这篇文章?
最合适的回答,由SO网友:s_ha_dum 整理而成
这个[caption]
出现部分是因为您的一位作者/编辑在将图像插入帖子时为其添加了标题。您不仅会遇到标题问题,还会遇到作者/编辑使用的任何其他短代码问题。你应该知道WordPress的核心包括几个插件,但各种插件甚至主题都提供了很多插件。您需要处理短代码:
echo apply_filters(\'the_content\',$queried_post->post_content);
或去除短代码:
echo strip_shortcodes( $queried_post->post_content );
你要做什么取决于你想要的结果。
您还应该知道,响应原始帖子内容——即。$queried_post->post_content
-- 可能不会提供您期望的格式,因为原始帖子内容通常不是完整的标记。运行the_content
过滤器,如上所述,对其中的大部分进行分类。