2011-02-13 4 views
3

Wordpress에는 designers.php이라는 페이지 템플릿이 있습니다.특정 페이지 템플릿에 add_filter를 사용하려면 어떻게해야합니까?

로드 할 때 유니 코드 ID를 얻기 위해 slug을 읽고 DB를 호출하여 디자이너 정보를 검색합니다.
이 정보를 사용하여 제목 태그의 디자이너 이름을 사용하여 페이지 제목을 변경하고 싶습니다.

designers.php 파일의 add_filter를 사용하여 시도했지만, 그것이 작동하지 않습니다 :

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 파일에 있어야합니다 추측.

어떻게하면 되겠습니까?

UPDATE 기능만큼 내가 wp_title을 사용으로 해고되지 않습니다
. init (테스트 용)으로 변경하면 함수가 실행됩니다.

그럼 왜 add_filter도 아니고 wp_title을 사용할 수 없습니까?

+0

어떤 Wordpress 버전을 사용하고 있습니까? – keatch

답변

3

당신이 옳습니다. 필터는 function.php에 있어야하며 제목을 수정하기 위해 호출됩니다. 필터를 조건부로 추가 할 수 있습니다. 워드 프레스는 다음과 같이 함수를 수정하는 템플릿을

시도 렌더링되는지 확인하려면이 기능 is_page_template()를 사용하여 모든 add_filter

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; 
} 
+0

@keatch - 작동하지 않습니다. 나는 함수와'add_filter'를'functions.php'에 넣었습니다. 그러나 함수는 호출되지 않았습니다. IF 전에 'echo'TEST ';'로 테스트하기. – Steven

+0

설치 과정에서이 코드가 정상적으로 작동합니다! SEO 플러그인과 같은 제목을 수정할 수있는 다른 플러그인이 있었습니까? 함수가 호출되었는지 테스트하려면 다음 요점을 시도하십시오. https://gist.github.com/717a938919cf16c5854d. 귀하의 페이지에서 귀하의 소스 코드를보십시오! – keatch

+0

@keatch - 내가 아는 한 제목을 수정하는 다른 플러그인이 없습니다. SEO 플러그인이 없습니다. (소스 코드 중 하나에서도) 코드를 테스트 해 보았습니다 : ( – Steven

1

우선이 중 플러그인 내부 또는 functions.php 파일에 있어야합니다.

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

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

을 그리고 당신의 header.php 테마에 <title> 메타를 확인 :

그런 다음, 어쩌면 당신은 필터의 우선 순위를 설정해야합니다.

<title><?php wp_title(); ?></title> 
관련 문제