12
12 月
<?php if ( 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 } ?>


优秀,刚好到位。
谢谢,友链有救了
刚接触WordPress,我在主题中的function.php 用is_home()会抛一个异常。包括is_front_page(),我在index.php中使用却是正常的….请问下是为什么?
[…] 参考对原文 […]