특정 페이지 템플릿에 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
'IT' 카테고리의 다른 글
호출 집합 CompoundDrawables()에 CompoundDrawables()가 표시되지 않습니다. (0) | 2023.10.05 |
---|---|
CSS는 텍스트와 다른 색을 사용합니까? (0) | 2023.10.05 |
MySql 타임스탬프 열을 PHP의 현재 타임스탬프로 업데이트하는 방법은 무엇입니까? (0) | 2023.09.25 |
스프링 컨트롤러의 범위 및 인스턴스 변수 (0) | 2023.09.25 |
Excel 2007 조건부 포맷 - 셀 컬러를 얻는 방법은? (0) | 2023.09.25 |