it-swarm-es.com

¿Por qué is_home () no funciona correctamente?

Puse un if(is_home()) bit en las funciones de mi tema.php y parece que no funciona. La función que contiene este bit se llama en init, por lo que is_home ya debería funcionar.

3
naugtur

is_home() no funcionará hasta que se ejecute wp_query. El primer enganche que puede usar donde funcionará is_home es 'parse_query', pero 'template_redirect' sería mejor.

9
John P Bloch

Para continuar con la respuesta de John: agregue una llamada a dicha función en uno de los ganchos mencionados por John y hakre.

Agregue, por ejemplo, lo siguiente a sus funciones.php:

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

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

EDIT: Al principio leí mal la pregunta: parece que ya tiene una función que encapsula el código, es solo que está disparando con el gancho equivocado. O bien rompa esa sección en una función separada y haga que se active en template_redirect, etc., o cambie la ubicación en la que se está enganchando.

2
ZaMoose