从摘录中筛选URL和快捷代码(_E)

时间:2014-12-18 作者:George Grigorita

我刚刚注意到我正在研究的主题有一个奇怪的行为。如果我有一篇只有一个链接或短代码的帖子,the_excerpt 将打印该URL或快捷码。但是如果我在帖子中有一些文字,在相同链接或短代码的下方或上方,the_excerpt 仅返回文本。

为什么会这样?如果帖子中没有其他内容,有没有简单的方法删除链接和短代码?

我使用的唯一过滤器the_excerptexcerpt_moreexcerpt_length. 另外,在我的循环中,我使用the_excerpt();.

-- Later edit --

在下面交换了一些评论之后,很明显,我还应该在这个问题中包括几个例子,以澄清两个想法:1)的默认行为the_excerpt 2)我正在寻找的案例和解决方案。

的默认行为the_excerpt:

如果有content 在短代码下方或上方,只有内容(文本)将显示为the_excerpt.

如果有no content 在包含URL的短代码下方或上方,URL将显示为the_excerpt. 如果不是一个短代码,而是一个可嵌入的URL(如youtube链接),也会发生同样的情况。

示例:如果我在帖子中只包含此短代码[audio mp3="http://path.to.file"][/audio], the excerpt 将仅打印URL->http://path.to.file.

我想做的是:如果the_excerpt 仅显示URL,然后显示“无内容”。

1 个回复
SO网友:Amit

输出时,您可以使用strip_shortcodes( $content ) 这将从给定内容中删除所有短代码标记。

结束

相关推荐

Spacing within the excerpt

我试图找出如何使用PHP控制摘录的显示方式。如何让它在帖子中呈现html间距,而不是只显示一个大段落。希望这是有意义的。让我给你举个例子。因此,我的客户已经将帖子联合在一起,并希望在每篇帖子的顶部添加一个指向实际作者的超链接。然后需要有一个换行符,然后是它下面内容的实际摘录。目前,摘录只是将所有内容显示为一段。我已经设法输入了一些php代码来呈现摘录中的超链接,但仍然坚持不让摘录去掉间距。