WordPress PHP - 需要在自定义查询中保留下一页分页标签


Wordpress PHP - need to retain nextpage paginating tag in custom query

前言:我不是一个好的程序员。

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

我基本上是在尝试在任何仅包含图像的段落之后插入广告。

似乎当你调用:

$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;
?>