让 WordPress 中的广告代码延迟加载

152

众多使用WordPress搭建的博客都会添加Google、百度等网盟提供的广告,但是不知道大家注意到没有wordpressWordPress在引用站外的东西的时候,如果站外服务器响应过慢,会导致很长一段时间打不开网页,为了避免这个问题,我们可以让广告代码在WordPress中延迟加载,达到对WordPress提速的功能!目前这段代码根据周良的测试,可以对百度、Google、网易等知名广告联盟起到延迟加载的作用。

具体方法如下:
1、进入WordPress后台,选择外观下面的编辑选项,找到这么一条语句 ,或许是相关的函数。然后在这条语句前面加入:

<div id=”myad”></div>

2、打开你的footer.php文件,在之前加入如下代码:

<?php if (is_single()) : ?>
<div id=”span_myads”>
<!– AD code –>
//这里插入你的广告代码
<!– AD coed end–>
</div>
<script type=”text/javascript”>
document.getElementById(“myad”).innerHTML = document.getElementById(“span_myads”).innerHTML;
document.getElementById(“span_myads”).innerHTML = “”;
</script>
<?php endif; ?>
</div>

3、打开你的style.css文件,加入下面的CSS代码:

#myad{float:left;margin:20px 10px 10px 40px;}

说一下代码的原理:一般来说网页元素加载是有顺序的,在广告的位置加一个空的div,然后在网页加载的最后的时候在去调用google的广告JS,产生广告,同时替换掉之前那个div的内容。当然了,如果你直接使用周良所提供的代码,那么你会发现这是在文章页面加载广告(因为周良博客的广告都是出现在文章页面),并且CSS样式我是自己的。你需要按照你自己情况,修改一下代码,至于放到侧边栏或者首页的广告延迟加载方法我这里也就不多说什么了,方法都差不多,有了上面的代码,大家只需要稍微修改几个函数即可。

如果你有设计或者 WordPress 方面的项目需求,可以和我联系 Email:wwwzhouliang@gmail.com。

作者主页 邮箱 微博 腾讯微博 QQ Twitter Facebook Google+

共 152 条评论

  1. 死大葱 回复

    我用的底部加载和这个差不多吧

    1. 死大葱 回复

      应该说是一个性质,一样一样的.

      1. 周良 (文章作者) 回复

        都差不多吧,最好就是不放广告

  2. SICXUKE 回复

    不错,加一个试试

    1. 周良 (文章作者) 回复

      好的~

  3. SICXUKE 回复

    不错,加一个试试

    1. 周良 (文章作者) 回复

      好的~

  4. 尘里风 回复

    这就去折腾

  5. 尘里风 回复

    这就去折腾

  6. FUKR 回复

    我用的搜狗联盟,这段代码不好使,广告都无法显示了

    1. 周良 (文章作者) 回复

      这个,我没考虑到其他的联盟,只弄了百度和google

  7. FUKR 回复

    我用的搜狗联盟,这段代码不好使,广告都无法显示了

    1. 周良 (文章作者) 回复

      这个,我没考虑到其他的联盟,只弄了百度和google

  8. 周良 (文章作者) 回复

    好的~

  9. 周良 (文章作者) 回复

    好的~

  10. 天涯行客 回复

    请问,这样做违不违反google政策啊?

    1. 周良 (文章作者) 回复

      不违反

  11. 天涯行客 回复

    请问,这样做违不违反google政策啊?

    1. 周良 (文章作者) 回复

      不违反

  12. 一与博客 回复

    大哥,这个代码在哪里<?php the_content(); ?>,,,我没有找到我css和index.php里面都么有

  13. 一与博客 回复

    大哥,这个代码在哪里<?php the_content(); ?>,,,我没有找到我css和index.php里面都么有

Leave a Reply

您的邮箱不会公开,当您的评论有新的回复时,会通过您填写的邮箱向您发送评论内容。 Required fields are marked *

返回顶部