Why isn't is_home() working correctly?
-
16-10-2019 - |
Pergunta
I put a if(is_home())
bit in my theme's functions.php and it doesn't seem to work. The function containing this bit is called on init so is_home
should work already.
Solução
is_home()
won't work until wp_query
is run. The earliest hook you can use where is_home will work is 'parse_query'
, but 'template_redirect'
would be better.
Outras dicas
To follow up on John's answer: Add a call to said function on one of the hooks mentioned by John and hakre.
Add, e.g., the following to your functions.php:
<?php
function my_function_name(){
if(is_home()) do_something();
}
add_action('template_redirect', 'my_function_name');
?>
EDIT: I misread your question at first -- it looks like you've got a function encapsulating the code already, it's just that you're firing on the wrong hook. Either break that section out into a separate function and have it fire at template_redirect, etc., or change where you're hooking in the first place.