it-swarm-ko.tech

Is_home ()이 제대로 작동하지 않는 이유는 무엇입니까?

내 테마의 functions.php에 if(is_home()) 비트를 넣었습니다. 작동하지 않는 것 같습니다. 이 비트를 포함하는 함수는 init에서 호출되므로 is_home가 이미 작동해야합니다.

3
naugtur

wp_query가 실행될 때까지 is_home()은 작동하지 않습니다. 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