关于is_home()与is_front_page()两个函数的详解

大家都知道,is_home()与is_front_page()两个函数是用来判断是否是主页的函数,可以百度到的结果是:

主页面(Main)
is_home()
判断当前页面是否是博客主页面。主页面通常是显示博客内容列表的首页,但是如果你在“后台”->“设置”->“阅读”中设置了静态首页和文章索引页面的话,当访问文章索引页面是返回 True。

首页(Front)
is_front_page()
判断当前页面是否是博客首页。首页和上面的主页面不同,首页可以是文章索引页面,也可以是你在“后台”->“设置”->“阅读”中设置的静态首页。

1. 假设你wp安装的地址是:http://www.wphezi.com/
我们设置了“后台”->“设置”->“阅读”中没有设置静态首页,那么你访问你的http://www.wphezi.com/时,is_front_page()与is_home()函数都返回true.

2. 假设你的设置如下图:
关于is_home()与is_front_page()两个函数的详解

那么你访问http://www.wphezi.com/时,is_home()返回ture, is_front_page()返回false。
这时因为只有一个首页,只需要用is_home()来判断就好了。

3. 假设你是这样设置的:
关于is_home()与is_front_page()两个函数的详解

那么你访问http://www.wphezi.com/时,is_home()返回ture, is_front_page()返回false。

那么你访问http://www.wphezi.com/blog/时,is_home()返回ture, is_front_page()返回false。

这时这两个页面出现问题,无法区分。

经过查看资料发现,不起作用的主要原因是我在静态的主页中加入的查询,所以导致出错,只需要的判断之前加入:

就恢复正常了