在《创世纪》主题中一定数量的段落后添加广告

时间:2013-08-31 作者:Matthew Snider

我离得很近,我能感觉到。我正试图让一个广告块显示后,说2段。目前,我在函数中使用以下代码。php将adblock放在最后一段之前。

我一生都找不到正确的代码来完成这项工作。

function ads_added_above_last_p($text) {
if( is_single() ) :
    $ads_text = \'<div class="wpselect_middle_content">My Ad Code Here</div>\';
    if($pos1 = strrpos($text, \'<p>\')){
        $text1 = substr($text, 0, $pos1);
        $text2 = substr($text, $pos1);
        $text = $text1 . $ads_text . $text2;
    }
endif;
return $text;
}
add_filter(\'the_content\', \'ads_added_above_last_p\');
如果我使用第二个$文本字符串并放置$pos2,它将非常有效,但它会复制帖子中的所有文本。

任何帮助都将不胜感激。

1 个回复
最合适的回答,由SO网友:epilektric 整理而成

我找到了explode() 在尝试断开字符串时很有用。这段代码创建一个段落块数组,在两个段落后插入新块,并将其连接回字符串以供输出。

function insert_ad_block( $text ) {

    if ( is_single() ) :

        $ads_text = \'<div class="wpselect_middle_content">My Ad Code Here</div>\';
        $split_by = "\\n";
        $insert_after = 2; //number of paragraphs

        // make array of paragraphs
        $paragraphs = explode( $split_by, $text);

        // if array elements are less than $insert_after set the insert point at the end
        $len = count( $paragraphs );
        if (  $len < $insert_after ) $insert_after = $len;

        // insert $ads_text into the array at the specified point
        array_splice( $paragraphs, $insert_after, 0, $ads_text );

        // loop through array and build string for output
        foreach( $paragraphs as $paragraph ) {
            $new_text .= $paragraph; 
        }

        return $new_text;

    endif;

    return $text;

}
add_filter(\'the_content\', \'insert_ad_block\');

结束

相关推荐

Google adsense stats plugin?

有人知道有没有一个WP插件可以显示你的广告统计数据(比如点击量、收入等)?我一直在四处寻找,我找到的大多数插件只让你管理实际的广告代码。我发现this one 但它不起作用。提前感谢!

在《创世纪》主题中一定数量的段落后添加广告 - 小码农CODE - 行之有效找到问题解决它

在《创世纪》主题中一定数量的段落后添加广告

时间:2013-08-31 作者:Matthew Snider

我离得很近,我能感觉到。我正试图让一个广告块显示后,说2段。目前,我在函数中使用以下代码。php将adblock放在最后一段之前。

我一生都找不到正确的代码来完成这项工作。

function ads_added_above_last_p($text) {
if( is_single() ) :
    $ads_text = \'<div class="wpselect_middle_content">My Ad Code Here</div>\';
    if($pos1 = strrpos($text, \'<p>\')){
        $text1 = substr($text, 0, $pos1);
        $text2 = substr($text, $pos1);
        $text = $text1 . $ads_text . $text2;
    }
endif;
return $text;
}
add_filter(\'the_content\', \'ads_added_above_last_p\');
如果我使用第二个$文本字符串并放置$pos2,它将非常有效,但它会复制帖子中的所有文本。

任何帮助都将不胜感激。

1 个回复
最合适的回答,由SO网友:epilektric 整理而成

我找到了explode() 在尝试断开字符串时很有用。这段代码创建一个段落块数组,在两个段落后插入新块,并将其连接回字符串以供输出。

function insert_ad_block( $text ) {

    if ( is_single() ) :

        $ads_text = \'<div class="wpselect_middle_content">My Ad Code Here</div>\';
        $split_by = "\\n";
        $insert_after = 2; //number of paragraphs

        // make array of paragraphs
        $paragraphs = explode( $split_by, $text);

        // if array elements are less than $insert_after set the insert point at the end
        $len = count( $paragraphs );
        if (  $len < $insert_after ) $insert_after = $len;

        // insert $ads_text into the array at the specified point
        array_splice( $paragraphs, $insert_after, 0, $ads_text );

        // loop through array and build string for output
        foreach( $paragraphs as $paragraph ) {
            $new_text .= $paragraph; 
        }

        return $new_text;

    endif;

    return $text;

}
add_filter(\'the_content\', \'insert_ad_block\');

相关推荐

Google adsense stats plugin?

有人知道有没有一个WP插件可以显示你的广告统计数据(比如点击量、收入等)?我一直在四处寻找,我找到的大多数插件只让你管理实际的广告代码。我发现this one 但它不起作用。提前感谢!