在WordPress中,不同的页面调用不同的内容相信大家都有过了一定的了解。比如之前我介绍过的WP漂浮到达顶部、底部、评论按钮一文中就特别提示了这一点,还有在除首页之外调用JS等等。对于一个没有认真了解过WP官方文档的我来说,认识一个函数也只认识了他的一点点东西。

前段时间,想在侧边栏管理一下广告,让广告只在文章的页面显示,我不由自主的想到了<?php if ( is_home() ) { ?> <?php } ?>这对函数。赶忙拿来一用,结果无效。。。万戈兄写过的不同页面调用不同侧边栏我感觉有点复杂,由于学习鸭梨就搁浅没折腾了。前天无聊了从liveme童鞋那里“抄”了个订阅,由于我的我想让订阅和谷歌的那啥跟随着读者(侧边栏有效果)求点击的,但是小孙童鞋建议将订阅部分放到侧边栏顶部。我想了一下觉得这个建议不错,但是又想让大家在读文章的时候订阅一直“缠”着你,所以又想到了不同页面调用不同侧边栏,于是放狗搜了一下,没想到还真给我找到了解决问题的办法,而且还是我前几天刚刚看过的大猫的博客里。而且据了解大猫貌似就职于企鹅公司哦。

以上纯属扯淡,下边才是重点

<?php if ( is_home() ) { ?> 我只会在首页显示 <?php } ?>
<?php if ( is_singular() ) { ?> 我只会在文章页面显示 <?php } ?>

以往我们都是这样使用这种函数的,其中is_home()函数在首页的时候会返回一个 true,is_singular()同理。我们往往会在主题的header.php或footer.php等经常遇见。但是如果在调用该函数之前有个 query_posts(); 则会让它失效,原因是 is_home,is_singular()等这种 is_ 前缀的都是基于主循环来判断,而 query_posts(); 会让其偏离主循环。当然有解决方案了:

解决方案是:在 is_home()之前加一个 wp_reset_query();类似于这样:

<?php wp_reset_query(); if ( is_home() ) { ?>
我只会在首页显示, 而且我不怕
query_posts()哦
<?php } ?>

嗯,终于实现了我想要的不同页面调用不同侧边栏的效果了。但是我实现不是重点,重点是各位的给力订阅哦。欢迎大家在侧边栏【欢迎订阅】栏目进行各种订阅哈,这样就不会错过奚少的垃圾文章咯~

25,389
更新日期: 2011-06-04
文章标签: ,,,
文章链接: http://www.xishao.net/wp/664.html
站方声明: 除特别标注, 本站所有文章均为原创, 互联分享, 尊重版权, 转载请注明.