给WordPress文章添加广告位

想必有很多伙计的WordPress站点是没有广告位的,就算有广告位也很难得有文章中间的广告位,就像下面图片中的广告,直接显示在文章中间。

这里就给伙计们推荐一段代码来实现给文章添加广告位的目的,请把下面的代码放入functions.php文件。然后在第7行放入自己的广告代码,可以是谷歌联盟也可以是自己制作的其他图片广告或html代码。

/*
* WordPress 在文章内容中间插入广告
*/
//在文章内容的第二段后面插入广告
add_filter( 'the_content', 'prefix_insert_post_ads' );
function prefix_insert_post_ads( $content ) {
$ad_code = '<div>广告代码放这里</div>';
    if ( is_single() && ! is_admin() ) {
        // 修改 2 这个段落数
        return prefix_insert_after_paragraph( $ad_code, 2, $content );
    }
    return $content;
}
 
// 插入广告所需的功能代码
function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
    $closing_p = '</p>';
    $paragraphs = explode( $closing_p, $content );
    foreach ($paragraphs as $index => $paragraph) {
        if ( trim( $paragraph ) ) {
            $paragraphs[$index] .= $closing_p;
        }
        if ( $paragraph_id == $index + 1 ) {
            $paragraphs[$index] .= $insertion;
        }
    }
    return implode( '', $paragraphs );
}

其中第10行有一个数字2,表示此广告将插入到文章的第二段落后面,如果要插入第一段后面就把2改成数字1,方法就是如此简单。