it-swarm-pt.tech

Por que o is_home () não está funcionando corretamente?

Eu coloquei uma if(is_home()) bit no functions.php do meu tema e não parece funcionar. A função que contém este bit é chamada no init, então o is_home já deve funcionar.

3
naugtur

is_home() não funcionará até que wp_query seja executado. O gancho mais antigo que você pode usar onde is_home funcionará é 'parse_query', mas 'template_redirect' seria melhor.

9
John P Bloch

Para acompanhar a resposta de João: Adicione uma chamada à função mencionada em um dos ganchos mencionados por John e hakre.

Adicione, por exemplo, o seguinte às suas funções.php:

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

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

EDIT: Eu mal interpretou sua pergunta no início - parece que você tem uma função encapsulando o código já, é só que você está atirando no gancho errado. Quebre essa seção em uma função separada e faça com que ela seja disparada em template_redirect, etc., ou mude para onde você está ganhando, em primeiro lugar.

2
ZaMoose