当前位置:首页 > CMS教程 > WordPress > 列表

wordpress is_home()判断无效解决办法

发布:smiling 来源: PHP粉丝网  添加日期:2015-02-04 16:05:46 浏览: 评论:0 

wordpress加is_home()判断是否为首页,结果不生效,可能的原因是is_home()之前有个 query_posts()造成的,is_home() 函数在首页的时候会返回一个 true 来判断,而 query_posts()会阻断这一判断,代码如下:

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

is_home(); 函数在首页的时候会返回一个 true,上面那段代码是常用的只在首页显示,插入任何模板页PHP里都可以,例如侧边栏 sidebar.php 或页脚 footer.php,但如果它之前有个 query_posts(); 则会让它失效,原因是 is_home is_virgin is_ooxx 这种 is_ 前缀的都是基于主旋律循环来判断,而 query_posts(); 会让其偏离主循环,解决方案是在 is_home(); 之前加一个 wp_reset_query();代码如下:

  1. <?php wp_reset_query(); if ( is_home() ) { ?> 
  2. 我只会在首页显示, 真的! 
  3. <?php } ?>//开源软件:phpfensi.com 

第二种,当你使用指定的一个page页面作为首页时,这种情况下is_home()是不起作用,可以使用is_front_page()来判断当前页是不是指定的首页,我们在上面所描述的情况下需要的就是这个函数,代码如下:

  1. <?php if (is_home() || is_front_page()) { ?> 
  2. 首页显示代码…………………… 
  3. <?php } ?>

Tags: is_home() wordpress无效

分享到: