我发现当我查看主页并在其中分配了单个粘性帖子时,is_front_page似乎返回true。

当我将页面分配为静态前端时,它也返回true。通过“设置”>“阅读”页。

为什么我要使用is_home()

#1 楼

如果用户位于“设置”->“阅读”->您的主页上显示在首页上的页面或帖子页面上,则is_front_page()返回true,因此,如果将about us设置为首页,则此条件条件只有在显示关于我们页面时才为true。

is_home()在帖子列表页面上时返回true,通常该页面显示最新的10条帖子。

如果您的主页显示下的设置保留为默认设置,则is_front_page()is_home()的主页都将返回true。

使用is_home()的示例:



您已将您的帖子页面设置为名为新闻的页面。
用户导航到该页面,并且您想在标题中显示其他导航
您可以使用is_home()进行此操作。


评论


究竟。我区分如下:is_front_page()在查看网站首页时(无论显示博客文章索引还是静态页面)返回true,而is_home()在查看博客文章索引时(无论显示在首页还是页面上)返回true。静态页面)。

–芯片Bennett
2011年10月6日,11:40

#2 楼

我发现is_home()is_front_page()不能提供多站点所期望的功能。我使用内置的PHP好东西的解决方法:如注释中所述,这种方法不适用于安装在Web根目录下的WP实例。请自行决定使用。

评论


请详细说明它无法实现预期的效果。

–克里斯汀·库珀♦
16年5月3日在16:58

在多站点主站点上,如果您在静态或博客首页上使用任何形式的is_home()或is_front_page(),则函数均将返回false。

–迪伦·皮尔斯(Dylan Pierce)
16年5月3日在17:12

我只是在多站点环境中测试了这两个条件,并且当我访问各自的/页面时都返回了true。

–克里斯汀·库珀♦
16年5月4日在9:53

我正在将wordpress VVV框与多站点插件一起使用:github.com/Varying-Vagrant-Vagrants/vvv-multisite也许上面配置错误?如果有人遇到类似情况,不管留下什么解决方法的答案。

–迪伦·皮尔斯(Dylan Pierce)
16年5月4日在13:07

您的代码几乎是完美的,唯一的事情就是:如果WP安装在子目录中,例如/ blog或/ wordpress,该怎么办。比这将是无用的。

– Remzi Cavdar
18年2月2日在8:37

#3 楼

当您要检查用户是否正在查看博客帖子列表时(通常设置为每页显示10个帖子),您需要使用is_home()。如果主题中包含home.php文件,则当is_home()条件为true时将显示该文件。

以下内容也可能消除一些混乱:当is_front_page()is_home()条件都成立时,将使用模板front-page.php代替home.php