我无法理解为什么有时会出现[标题]字段

时间:2012-11-02 作者:user1610075

我正在尝试制作一个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 
为什么会这样?有没有一种方法可以强制执行相同的输出,而不管是谁写的这篇文章?

2 个回复
最合适的回答,由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 过滤器,如上所述,对其中的大部分进行分类。

SO网友:fuxia

那是一个shortcode, 你应该跑…

apply_filters( \'the_content\', $queried_post->post_content );
…然后再打印出来。

您不能阻止用户从您的脚本中使用它。你不应该这样。

结束

相关推荐

Displaying posts on Homepage

我想知道如何在我的主页上添加一个列,在“最新消息”标题下显示博客页面中的五篇最新帖子。这是我的开发网站的链接。http://pur-vent.29kdev.com/下面是我认为必须编辑的代码,以实现这一点。如果有人能提供任何建议,我将不胜感激。提前谢谢。迈克 “” <?php if ( get_optio