外头站着
12
12 月

<?php if ( is_home() ) { ?>无效/失效的解决方案

wordpress_is_home

<?php if ( is_home() ) { ?>
我只会在首页显示
<?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();

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

yeah, bigCat made it!

» You can leave a comment, or trackback from your own site.

大战 36 回合 to “<?php if ( is_home() ) { ?>无效/失效的解决方案”

  1. Reuel说道:

    优秀,刚好到位。

  2. peascloud说道:

    谢谢,友链有救了

  3. Panacea说道:

    刚接触WordPress,我在主题中的function.php 用is_home()会抛一个异常。包括is_front_page(),我在index.php中使用却是正常的….请问下是为什么?

Leave a Reply

:!: :roll: :o :lol: :P :( 8O :x :oops: :) :?: :idea: :evil: ;) :twisted: