在content.php和content-search.php添加:
<?php if ($wp_query->current_post == 1 || $wp_query->current_post == 4 || $wp_query->current_post == 7) : ?> <div style=''>-</div> <?php endif; ?>
wp_query->current_post大概意思就是当前文章列表编号,
0,1,2,3,,,,10
我希望在第2行,第5行,第8行下面添加。
就用1,4,7做判断。
模板不同,可能方法有差异。
WordPress在文章列表和内容页插入广告
一、在文章列表插入广告
文章列表模板 包括以下几个类型以及对应的主体文件:
- 首页模板 (index.php)
- 搜索结果页 (search.php)
- 文章归档 (archive.php)
在这些列表模板里插入广告代码的步骤相同, 下面以首页模板index.php为例
在编辑文件区域, 找到”<?php endwhile; ?>” 标签 , 在该标签上方插入广告代码(即在”<?php while ?>”标签内部插入广告代码)
插入以下代码
该代码的意思为: 在第3篇文章(索引为2)的下方插入广告, 如果文章总数量小于3, 则在该列表的最后一篇文章下方插入广告。
<?php if ($wp_query->current_post == 2) : ?> <div>广告代码</div> <?php endif; ?> <?php if ($wp_query->found_posts < 3 and $wp_query->current_post == ($wp_query->found_posts - 1)): ?> <div>广告代码</div> <?php endif; ?>
二、在文章内容页插入广告
- 在该文件最底部插入以下代码
该代码意思为: 在文章内容页面的第5个段落下面加入广告位。如果我们希望在其他段落下面只需修改对应的数字即可。
add_filter( 'the_content', 'prefix_insert_post_ads' ); function prefix_insert_post_ads( $content ) { $ad_code = '<div>广告代码</div>'; if ( is_single() && ! is_admin() ) { // 下面一行数字5代表段落 return prefix_insert_after_paragraph( $ad_code, 5, $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 ); }
在文章内容中加广告,有专门的插件,更方便。