使用wordpress原生代码在文章内容的随机段落中间插入广告(代码版)

今天突然想着WORDPRESS是否可以实现在文章内容中随机位置插入广告的效果呢,在网上找了下,发现有这样一个插件可以使用,然而通过插件虽然来使用比较广告,但是因为WORDPRESS程序的框架原因,无论啥插件,都会在前端里面被额外添加一些CSS或者JS的调用,比较臃肿,同时,也正因为古网小编是个速度优化追求者,能不用插件咱们就不用插件。

使用wordpress原生代码在文章内容的随机段落中间插入广告(代码版)
使用wordpress原生代码在文章内容的随机段落中间插入广告(代码版)

所以继续寻找了下,终于找到一段可以直接修改function.php文件的修改就可以实际广告随机插入的效果;代码实现的方式很简单,只要在下面functions.php文件的最后面插入下面的代码即可实现(记得将:你的广告代码替换掉):

/* 代码实现WordPress在文章内容的随机段落中间插入广告 */
add_filter( 'the_content', 'prefix_insert_post_ads' );
function prefix_insert_post_ads($content){
$pattern = "/<p>.*?<\/p>/";
$paragraph_count = preg_match_all($pattern,$content); //计算文章的段落数量
if($paragraph_count >= 4 && is_single()){//如果文章的段落数量少于4段,则不会插入文章段落广告
$paragraph_count -=2;
$insert_paragraph=rand(3,$paragraph_count);
$ad_code = '<div>此处添加你的广告代码</div>';
return prefix_insert_after_paragraph( $ad_code, $insert_paragraph, $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 );
}

将上述代码里面的“此处添加你的广告代码”替换为自己的广告代码就可以了,最终效果如下:

使用wordpress原生代码在文章内容的随机段落中间插入广告(代码版)
使用wordpress原生代码在文章内容的随机段落中间插入广告(代码版)

版权声明:本文内容由来自互联网,该文观点不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系我们举报,一经查实,本站将立刻删除。

99%的人还看了

发表评论