解决 wordpress if (is_home())无效/失效的方法

WordPress教程 4737

wordpress的is_home();函数的作用是在WP博客首页的时候返回一个true,但如果在该函数前面有个query_posts();则会失效,原因是is_home is_virgin is_ooxx 这种 is_ 前缀的都是基于主旋律循环来判断,而 query_posts(); 会让其偏离主循环。解决这个问题的方法如下:

解决is_home无效的方法:

is_home();函数的原代码如下:

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

解决方法是在is_home();之前添加一个wp_reset_query();即可,代码如下

1
2
3
<?php wp_reset_query(); if ( is_home() ) { ?>
真的只在首页显示。
<?php } ?>

参考对原文

精品推荐: