wordpress列表任意位置插入广告

看到有些站点的广告并不是简单地放置在文章开头或结尾等固定位置,而是随着文章内容输出而输出。下面是实现的代码:

在首页或者文章列表的循环里找到终止列表输出循环的标识

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
//这里是文章循环输出的区域
//在这里插入功能代码
<?php endwhile; ?>

方法一:

<?php if ($wp_query->current_post == 2) : ?> //修改数字2,标识在2+1篇文章后方插入广告
//需要展示的广告信息 
<?php endif; ?>

因为wordpress定义的$current_post是指文章的索引值,它的取值是从0开始的,所以第N篇文章对应的索引值为N-1。

方法二:

<?php if ($wp_query->current_post == 4) : ?>
<div>(广告代码)</div>
<?php endif;?>
<?php if ($wp_query->found_posts < 5 and $wp_query->current_post == ($wp_query->found_posts - 1)): ?>
<div>(广告代码)</div>
<?php endif; ?>

以上, $found_posts 表示输出匹配的文章总数,比如说,你找分类wordpress下的文章,系统给你匹配输出了6篇文章,那么 $found_posts 的值就是6。代码2表示广告代码将在文章列表的第5个文章后面出现,如果列表匹配出来的文章总数不到5个,就在列表的最后位置出现广告代码。

方法三:

<?php 
$key++; 
if($key==3){ 
?> 
<li>广告内容</li>
<?php }?>

$key==3就是把广告放在第三个位置哦,你想放在哪个位置自个修改这个数字就OK啦

通过以上三种方法均能实现wordpress列表循环里输出广告的效果,根据你的需求选个就行。