【发布时间】:2014-09-05 19:36:30
【问题描述】:
我正在尝试检测当前页面是否是我全新安装的 WordPress 的主页。
以下代码的 sn-p 在 page.php 中有效,但在 functions.php 中无效。如何在 WordPress 的 functions.php 中检测主页?
if (is_front_page()) {
echo 'test';
}
我知道我可以使用$_SERVER['REQUEST_URI'],但我认为应该有更好的方法来做到这一点。
在 wordpress 设置 > 阅读中,我的主页有一个静态页面。 is_home() 在我的 page.php 中不起作用,但 is_front_page() 在我的 page.php 中起作用。这两个函数在我的functions.php中都不起作用
【问题讨论】:
-
没有任何额外的代码很难说。您能否在
functions.php中提供更多您正在使用的代码? -
functions.php 中的原始代码在 WordPress 开始计算它将使用哪个页面/模板之前运行。你到底想达到什么目的?您可能想要挂钩到一个操作或过滤器,以便您的测试代码
is_front_page设置为稍后运行,此时 WordPress 已经设置了足够的东西来回答这个问题......来自the notes:“@ 987654326@ 使用全局 $wp_query WP_Query 对象。在 parse_query 操作之前 is_home 不可用。”因此,您至少需要推迟运行它直到那么晚。 -
我只想在functions.php中为主页加载一些脚本和css。这就是我想要达到的目标。