前言:我不是一个好的编码员。
我需要使用$post->post_content
来获取原始帖子,以便我可以使用EXPLODE php命令。但是当我使用$post->post_content
时,它会过滤掉我帖子中需要保留的标签。这是我的剧本。我究竟做错了什么?谢谢!
<?php
$content = apply_filters('the_content', $post->post_content);
$contents = array_filter(explode("</p>", $content));
foreach ($contents as $content) {
if (strpos($content, '<img') !== false ) {
echo $content;
echo "</p>after image ad";
} else {
echo $content;
echo "</p>";
}
}
?>
我基本上试图在任何只包含图片的段落后插入广告。
答案 0 :(得分:0)
当你打电话时似乎:
$content = apply_filters('the_content', $post->post_content);
它应用autop
分割段落,并在所有短代码上应用do_shortcode
。
因此,您最好不要在此致电apply_filters
,而是致电wpautop
:
请参阅:http://codex.wordpress.org/Function_Reference/wpautop
<?php
$content = wpautop( $post->post_content );
$contents = array_filter(explode("</p>", $content));
$result = '';
foreach ($contents as $content) {
$result .= $content.'</p>';
if (strpos($content, '<img') !== false ) {
$result .= "after image ad";
}
}
$content = apply_filters('the_content', $result);
echo $result;
?>