北极寒流 » 网络资源 » 在WordPress首页任意日志后插播广告二法 - 2010.11.05

在WordPress首页任意日志后插播广告二法

其实在WordPress博客中插入广告可以直接用插件来实现,北极鱼现在在用的whydowork_adsense就非常不错,它可以在博客的任意位置插入广告代码,不过和很多其他WordPress广告插件一样,他们插入广告的位置,有时候是不符合博主自己意图的,所以这时候我们就得手动在WordPress插入代码了。

昨天在调整亿品元素的广告代码时,我想实现在博客的首页任意日志后插入代码。whydowork_adsense虽然可以为指定的日志插入代码,但是正由于whydowork_adsense插入的代码位置不符合自己的要求,所以只好自己动手了,在网上GG来两种方法,收藏备忘!

第一种方法:(此法需要重新创建变量)

1、打开index.php文件,在 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 前插入    <?php $postcnt = 1; ?>

2、在<?php the_content(); ?>,后加入代码:

<?php if ($postcnt == 1) : ?>
广告代码
<?php endif; $postcnt++; ?>

如果你还想把广告加在第二篇日志后,那就将第2步中的代码<?php if ($postcnt == 1) : ?> 改成 <?php if ($postcnt == 1 || $postcnt == 2) : ?> ,以此类推。

此方法的原理:在进入日志列表循环之前,创建一个计数变量postcnt并赋值为1,然后在下面循环输出日志的时候,每输出一篇日志摘要,技术变量postcnt就自加1,这样每篇日志就等于有各自的顺序数字了。然后在if需要的第X篇日志后显示广告。

第二种方法:

打开index.php文件,在<?php the_content(); ?>,后加入代码:

<?php if ($wp_query->current_post == 0) : ?>
广告代码
<?php endif; ?>

如果你还想把广告加在第二篇日志后,那就将代码中的$wp_query->current_post == 0 改成1,第X篇日志改成X-1,以此类推。此方法的原理,由WordPress自带函数得到日志列表的日志计数,直接利用函数判断在需要的第X篇日志后显示广告。

上面两种方法都可以实现在WordPress博客首页任意日志插入广告,不过个人推荐第二种方法,简单,而且不需要重新创建变量。

现在还有个问题就是虽然第二种方法简单实用,但是按上面的代码好像只能在其中一篇的日志中插入代码,如果我想第一篇、第3篇日志或者其他日志同时插人代码又该怎么写代码呢?当然对PHP了解的,也许很容易就知道解决办法,无奈的是自己对PHP几乎是个代码盲,还是在GG中查找到一点相关的资料:

<?php if ($a == 5): ?>
  <div>等于5</div>
<?php elseif ($a == 6): ?>
  <div>等于6</div>
<?php else: ?>
  <div>不是5就是6</div>
<?php endif; ?>

依葫芦画瓢,把第二种方法中的代码改成

<?php if ($wp_query->current_post == 0) : ?>
广告代码1
<?php elseif ($wp_query->current_post == 1) : ?>
广告代码2
<?php endif; ?>

哇,成功。演示效果请见亿品元素博客首页,同时也请好心人顺手一下,顺手一下什么?相信你懂的!

11.05晚改进版:原来下面这样写也可以。

<?php if ($wp_query->current_post == 0 || $wp_query->current_post == 1 || $wp_query->current_post == 2) : ?> 廣告放這裡 <?php endif; ?>

发表评论 【登录·注册】

所有留言都会被审核,请勿发布垃圾评论!

(必填)*