Typecho博客在文章内部插入谷歌广告等广告联盟的方法,核心代码如下:

function themeInit($archive) {
   
   // 判断是否是文章,如果是就插入广告
   $ad_code = '<div>这是你的广告</div>';
   if ($archive->is('single')) {
        $archive->content = prefix_insert_after_paragraph( $ad_code, 2, $archive->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 );
}

代码插入位置及原理说明

放在主题的function.php文件里。

参数说明:插入函数主要就是通过内容<p>标签来识别段落,prefix_insert_after_paragraph( $ad_code, 2, $archive->content );
第一个参数是插入文章中的广告代码,第二参数是P标签的位置,可以理解为段落;第三个参数是文章内容

原理:系统在加载typecho页面的时候,会运行一下themeInit函数,这个时候就可以编辑页面。这里利用编辑的功能往页面插入广告代码。
80660-6uyppoy177u.png

标签: typecho


阿里云优惠主机

添加新评论

免责声明
本博客部分内容来自于互联网,不代表作者的观点和立场,如若侵犯到您的权益,请联系[email protected]。我们会在24小时内进行删除。