wordpress文章列表添加广告

主要学习这句代码:
wp_query->current_post

在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; ?>

二、在文章内容页插入广告

  1. 在该文件最底部插入以下代码

该代码意思为: 在文章内容页面的第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 );
}

在文章内容中加广告,有专门的插件,更方便。

作者:

喜欢围棋和编程。

 
发布于 分类 编程标签

发表评论

邮箱地址不会被公开。