
其实在WordPress博客中插入广告可以直接用插件来实现,whydowork_adsense就非常不错,它可以在博客的任意位置插入广告代码,不过和很多其他WordPress广告插件一样,他们插入广告的位置,有时候是不符合博主自己意图的,所以这时候我们就得手动在WordPress插入代码了。
另外关于插播广告的方法:
《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; ?>
哇,成功。
改进版:原来下面这样写也可以。
<?php if ($wp_query->current_post == 0 || $wp_query->current_post == 1 || $wp_query->current_post == 2) : ?> 广告放这里 <?php endif; ?>
人吐槽 | 人点赞 |
发表评论