如何在不使用标签/过滤器的情况下获得与apply_filters('the_content)相同的结果?
问题描述:
我有一个插件,我将其描述为CMS lite。我创建了一个自定义帖子类型。我在这些条目中存储内容。然后我使用简码将自定义帖子内容插入到我的主帖中。这样我可以在多个注册表中插入相同的短代码。帖子,但只需在自定义帖子中更新一次。如何在不使用标签/过滤器的情况下获得与apply_filters('the_content)相同的结果?
为了获得自定义帖子类型的内容以维护其所见即所得(?hehe),我在该内容上使用了apply_filters('the_content',...)。咄?对?
问题是,如果有一个插件(例如,Sociable)附加到内容的末尾,apply_filters('the_content')将这些内容添加到我的自定义帖子类型内容中。毋庸置疑,我不需要 - 也不希望 - 社交媒体共享的多个实例都会在我的内容区域中溅起所有图标:)
我想要apply_filters('the_content'...)的标记/格式化但是我无法通过这种方式来解决这个问题。
帮助?
答
好问题。我发现有两种方法可以做到这一点:
1)编写自己的函数。如果您试图分析在WordPress环境之外加载的脚本中的文本块,这一点尤其有用。我发现这是在这种情况下是有用的:
function nl2p($str) {
$arr=explode("\n",$str);
for($i=0;$i<count($arr);$i++) {
if(strlen(trim($arr[$i]))>0)
$out.='<p>'.trim($arr[$i]).'</p>';
}
return $out;
}
2)(我知道你已经在这个自己迷迷糊糊),可以使用<?php echo wpautop($post->post_content); ?>
,使您的段落。
希望这有助于!
为什么每次我在StackOverflow上发布问题后,我都会在一小时后找到答案。对于那些好奇的人,我认为这应该可以做到这一点:http://codex.wordpress.org/Function_Reference/wpautop – 2012-03-21 01:59:02