宝宝健康成长网首页刘易桉刘玥健康成长 林林悦悦微博 育儿护理知识 宝宝网址导航
当前位置: 首页 >> 宝宝建站 >> <?php if ( is_home() ) { ?>无效的解决

<?php if ( is_home() ) { ?>无效的解决

<?php if ( is_home() ) { ?>和<?php if ( !is_home() ) { ?>是WordPress两个常用的函数,用来自定义某模块是否在首页显示。该函数可插入任何模板页PHP里,例如侧边栏 sidebar.php 或页脚 footer.php里。我在sidebar.php里就添加了该函数,首页显示“热门日志”,而在其他页面切换为“最新日志”。

不过,今天在给宝宝健康成长网添加<?php if ( is_home() ) { ?>和<?php if ( !is_home() ) { ?>两个函数时,碰到函数失效的问题,感谢Google,在大猫的博客找到了解决方法。原来又是query_posts()惹得祸。

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

但如果它之前有个 query_posts(); 则会让它失效
原因是 is_home(); 函数在首页的时候会返回一个 true 来判断,而 query_posts(); 会阻断这一判断。

解决方案是在 is_home(); 之前加一个 wp_reset_query();

<?php wp_reset_query(); if ( is_home() ) { ?>
我只会在首页显示, 真的!
<?php } ?>

<?php if ( !is_home() ) { ?>是同理。

发表评论

^留言没头像?教你设置头像!
我的应用 Follow@cnbabyup 宝宝问答>  0-1岁  1-3岁  3-6岁 手气不错