IT

특정 페이지 템플릿에 add_filter를 사용하려면 어떻게 해야 합니까?

itgroup 2023. 10. 5. 21:30
반응형

특정 페이지 템플릿에 add_filter를 사용하려면 어떻게 해야 합니까?

워드프레스에서 나는 다음이라는 페이지 템플릿을 가지고 있습니다.designers.php.

로드할 때는 다음과 같이 표시됩니다.slug고유 ID를 얻기 위해 DB에 전화를 걸어 디자이너 정보를 검색합니다.
이 정보를 사용하여 제목 태그의 디자이너 이름을 사용하여 페이지 제목을 변경하고자 합니다.

사용해 보았습니다.add_filter내 안에designers.php파일이 작동하지 않습니다.

add_filter('wp_title', 'set_page_title');

function set_page_title($title) { 
  global $brand;
  return 'Designer '.$brand['name'].' - '.get_bloginfo('name');  
}    

제가 추측하기로는add_filter플러그인 안에 있거나 플러그인 안에 있어야 합니다.functions.php파일.

어떻게 하면 제가 하고 싶은 일을 이룰 수 있을까요?

갱신하다
이 기능은 제가 사용하는 한 절대로 작동되지 않습니다.wp_title. 로 변경하면init(시험용), 함수가 발사됩니다.

그럼 왜?add_filter일도 하지 않는wp_title?

당신 말이 거의 맞습니다.필터는 기능에 상주해야 합니다.php, 그리고 제목을 수정하기 위해 호출됩니다.조건에 따라 필터를 추가할 수 있습니다.wordpress가 템플릿을 렌더링하는지 확인하려면 이 함수 is_page_template()를 사용합니다.

다음과 같이 기능을 수정합니다.

add_filter('wp_title', 'set_page_title');

function set_page_title($title) { 
  global $brand;
  if (is_page_template('designer.php')) 
     return 'Designer '.$brand['name'].' - '.get_bloginfo('name');   
  else
     return $title;
}

일단은add_filter플러그인 안에 있거나 플러그인 안에 있어야 합니다.functions.php파일.

그런 다음 필터의 우선 순위를 설정해야 할 수도 있습니다.

add_filter('wp_title', 'set_page_title',1);

function set_page_title() { 
  global $brand;
  return 'Designer '.$brand['name'].' - '.get_bloginfo('name');  
}

그리고 확인해보세요.<title>당신 안의 메타header.php주제.

<title><?php wp_title(); ?></title>

언급URL : https://stackoverflow.com/questions/4985162/how-can-i-use-add-filter-for-a-specific-page-template

반응형