Wordpress PHP - 需要在自定义查询中保留nextpage分页标记

时间:2015-01-29 18:21:57

标签: php wordpress shortcode

前言:我不是一个好的编码员。

我需要使用$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>";
    }
}

?>

我基本上试图在任何只包含图片的段落后插入广告。

1 个答案:

答案 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;

?>