it-swarm.cn

为什么is_home()不能正常工作?

我在我的主题的functions.php中放了一个if(is_home())位,它似乎不起作用。包含此位的函数在init上调用,因此is_home应该已经有效。

3
naugtur

is_home()在运行wp_query之前不起作用。你可以使用is_home工作的最早的钩子是'parse_query',但是'template_redirect'会更好。

9
John P Bloch

跟进John的回答:在John和hakre提到的其中一个钩子上添加对所述函数的调用。

例如,将以下内容添加到您的functions.php中:

<?php
function my_function_name(){
  if(is_home()) do_something();
}

add_action('template_redirect', 'my_function_name');
?>

编辑:我最初误读了你的问题 - 看起来你已经有了一个封装代码的函数,只是你正在触发错误的钩子。要么将该部分分解为单独的函数并将其激活到template_redirect等,或者更改您首先挂钩的位置。

2
ZaMoose