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 } ?> |
参考对原文