这篇文章将向你展示如何在 WordPress 主页上的日志之间放置 AdSense 代码(或者其他广告的代码)。同样的方法也可以用于在存档页面(包括分类和作者存档页面)放置广告。
首先我会介绍些概念性的东西,然后想展示代码,如果你只想看代码,就跳过第一部分。
基本概念
我们要做的是在第那n篇日志之后显示广告。如你想把广告放在第一篇和第三篇日志之后,所以首先你得找到一种方法能够动态找出现在是第几篇日志,然后在第一篇和第三篇日志之后设置广告代码。
在 WordPress 中,用来给读者显示日志的主流程就是主循环(The Loop)(点击这里和这里查看更多信息)。用编程术语来说就是一个 while () 循环,它能一篇一篇的显示日志,直到满足一个停止的条件(比如 WP 的设置了只在主页上显示15篇日志)或者判断是否还有日志。
如果我们能够得到 while () 循环已经显示了多少篇日志(通过在循环外面定义一个计数器变量,在循环中累加,然后把计数器的值作为测试的条件),我们就能很容易编码以在某些日志后面显示广告。
另外,也可以在把广告放到循环外面和日志导航链接前面,这样就不需要计数器了。
下面,就让我们看下怎么编码实现。
Step-by-Step
如果你现在没有时间立刻去实现的话,你可以收藏该页作为以后的参考。
下面的步骤将向你展示如何把广告放到博客主页的第一篇和第三篇日志之后
你可以拷贝-粘帖下面的代码,但是你要清楚,你需要客户化这些代码以适合你的主题或者你的 Adsense 插件。
登录到你博客的管理区域,并到达Presentation->Theme Editor.
找到标题为 'Index' 或者 'Main Index Template' (或者类似的名字)的链接并点击它 - 导入 index.php 文件。
在 index.php 文件,找到这一行: <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 显然这是 WP 主循环的起点。
在前面增加下代码: <?php $counter = 0; ?> 之后增加: <?php $counter = $counter 1;?> 上面的代码能够动态计算 WP 主循环已经显示了几篇日志,所以当第一篇和第三篇日志被显的时候,我们就可以引发一个命令去允许我们显示 Adsense 代码。
再往下,我们可以看到用于显示单独日志的代码,再接着就是如下的代码:
代码语言:javascript复制<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
至少,你会看到 <?php endwhile; else: ?> 这个语句。
在这之前,添加以下代码:
代码语言:javascript复制<?php if(1 == $counter) : ?>
<!--adsense#index1-->
<?php endif; ?>
<?php if(3 == $counter) : ?>
<!--adsense#index2-->
<?php endif; ?>
请一定把上面的 <!--adsense#index1--> 替换为你自己的广告代码。我使用了 Semiologic Ad Spaces plugin 这个插件,它能让我通过放置一个简单标签来指示出在模板代码中显示哪个广告代码块。据我所知,AdSense Deluxe 这个插件也可以做到。如果你想直接拷贝和粘帖 AdSense 的代码,如下所示:
代码语言:javascript复制<?php if(1 == $counter) : ?>
<script type= "text/javascript"><!--
abc = "pub-xxxxxxxxxxxxxxxx";
google_ad_width = 300;
google_ad_height = 250;
google_ad_format = "300x250_as";
google_ad_type = "text_image";
google_ad_channel = "6539199999";
google_color_border = "ffffff";
google_color_bg = "ffffff";
google_color_link = "880615";
google_color_url = "777777";
google_color_text = "000000";
//--></script>
<script type="text/javascript" src= "http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<?php endif; ?>
在这里我建议你是用插件,因为那样看起来更加简单。
翻译自:How to Show Ads between Posts on your Blog,有删节,请注意。