WordPress 在文章内容中间插入广告

之前Gavin和大家分享过《WordPress 首页中第一篇文章后插入广告》,但是,不少朋友希望在文章内容的中间插入广告,下面就来看看如何实现吧。将下面的代码添加到当前主题的 functions.php 即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* 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 );
}

给我留言