WordPress的is_home()或者is_front_page()是判断是否是首页的函数方法。 有时候我们在开发WordPress的时候不生效,或者不是首页,但是is_home()被判断为首页。 那么,为什么会出现这种奇怪的现象呢?
通过模板兔研究发现原因可能是is_home()之前有一个query_posts(),然后使用了wp_reset_query()(在单独的页面中使用这个会导致这个bug)。 is_home() 函数在首页时会返回一个 true 来判断,query_posts() 会阻塞这个判断。
解决方案是在 is_home() 之前添加一个 wp_reset_query()。 例如:
wp_reset_query(); if ( is_home() ) { echo 'is mobantu homepage'; }