Typecho博客免安装插件在文章中插入谷歌广告等广告联盟代码的方法
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函数,这个时候就可以编辑页面。这里利用编辑的功能往页面插入广告代码。