2013-03-23 2 views
0

나는 wordpress를위한 개발 주제를위한기구를 사용하고있다. 설치 프레임 워크 후 나는 자식 테마를 만들고 functions.php에 내 프레임 워크의 파일을 포함시킵니다.TEMPLATEPATH가 자식 디렉터리의 절대 경로를 반환하는 이유는 무엇입니까?

다른 프로젝트에서는 모두 정상적으로 작동하지만 내 새 프로젝트에는 오류가 있습니다. TEMPLATEPATH를 호출하면 자식 디렉토리의 절대 경로를 되 돌리지 만 부모 테마의 경로를 반환해야합니다.

무엇이 잘못 될 수 있습니까?

P. 프레임 워크는 TEMPLATEPATH를 사용하여 자신의 파일을 포함하므로이 문제를 어떻게 해결할 수 있는지 이해해야합니다.

+0

자녀 테마에 STYLESHEETPATH를 사용해야합니다. 여기에 유용한 정보가 있습니다. http://wordpress.stackexchange.com/questions/21086/wordpress-include-templatepath- 또는 – McNab

+0

안녕하세요, @McNab. 빠른 응답 감사합니다. 자식 테마의 functions.php에서 STYLESHEETPATH를 사용할 수 있지만 프레임 워크 파일에서 TAMPLATEPATH를 STYLESHEETPATH로 변경할 수 없습니다 (프레임 워크 작성자가 허용하지 않음). 그래서 TAMPLATEPATH로 문제를 해결할 수있는 방법을 찾아야합니다. – Vov4eg

+0

프레임 워크 개발자는이를 수행하는 방법을 포함하거나 문서화해야합니다. 그렇지 않으면 프레임 워크가 유용하지 않습니다. get_template_directory_uri()를 대신보십시오. http://codex.wordpress.org/Function_Reference/get_template_directory_uri 또는 get_stylesheet_directory_uri(); 아마도 http://codex.wordpress.org/Function_Reference/get_stylesheet_directory_uri 일 수 있습니다. – McNab

답변

1

내 문제의 해결책을 찾았습니다.
"template"필드의 테이블 "wp_options"의 DB가 자식 테마 이름 이었기 때문에 부모 테마에 대한 잘못된 경로가 있습니다. 이 필드의 값을 부모 테마 이름으로 변경하면 TEMPLATEPATH가 부모 테마의 경로를 반환합니다.

1

당신과 같이 부모 테마 디렉토리를 얻을 수 get_template_directory_uri()를 사용하여 시도해야합니다 :

echo get_template_directory_uri()/img/icon.png 

자녀 테마 디렉토리에서 뭔가를 얻고 싶은 경우에 당신은 get_stylesheet_directory_uri()를 사용할 수 있습니다.

상세 정보 :

편집 : 그냥, 일부 upvotes로이 사람에게주는 질문의 의견에 McNab의 회신을 발견 잘. :)

0

내 자식 테마를 먼저 만들고 부모 테마 style.css 파일을 만들기 전에 활성화했기 때문에 이런 일이 일어났습니다.

당신이해야 할 일은 다른 테마 활성화입니다. 그런 다음 자녀 테마를 다시 활성화하십시오. 그러면 wp_options 테이블의 '템플리트'값이 정정됩니다.

관련 문제