get_template_directory_uri 자식 테마가 아닌 부모 테마를 가리키는


35

내가 겪고있는 문제는 get_template_directory_uri가 다음과 같은 부모 테마를 가리키고 있다는 것입니다. site/wp-content/themes/twentythirteen/myGallery/gallery_functions_include.php

그러나 나는 그것이 내 아이 테마를 가리키고 싶습니다. site/wp-content/themes/child-twentythirteen/myGallery/gallery_functions_include.php

내가 사용하는 것은 include (TEMPLATEPATH . '/myGallery/gallery_functions_include.php');

답변:


70

get_template_directory_uri() 항상 현재 상위 테마의 URI를 반환합니다.

하위 테마 URI를 대신 가져 오려면을 사용해야 get_stylesheet_directory_uri()합니다.

다양한 테마 디렉토리 위치를 얻는 데 유용한 기타 기능 목록과 함께 설명서에서 이러한 기능 찾을 수 있습니다 .


상수를 사용하는 것을 선호한다면, TEMPLATEPATH호출 get_template_directory()(즉, 부모 테마)과 STYLESHEETPATH유사하고 호출 get_stylesheet_directory()(예 : 자식 테마) 과 유사합니다 .

이 상수는 워드 프레스 코어에 의해 설정되며 wp-includes/default-constants.php기본적으로 다음과 같습니다.

define('TEMPLATEPATH', get_template_directory());
...
define('STYLESHEETPATH', get_stylesheet_directory());

하위 테마가없는 경우 '템플릿' '스타일 시트'함수는 모두 상위 테마 위치를 반환합니다.

이 함수와 끝나는 함수의 차이점에 유의하십시오. 함수 _uri는 절대 서버 경로 (예 /home/example/public_html/wp-content/yourtheme:) _uri를 반환 하지만 함수는 공개 주소 (일명 URL)를 반환합니다. http://example.com/wp-content/themes/yourtheme.


include (TEMPLATEPATH. '/myGallery/gallery_functions_include.php'); 이것도 부모 디렉토리로갑니다
Elroy Fernandes

@ElroyFernandes 나는 이것을 내 대답에 추가했습니다. STYLESHEETPATH는 당신이 원하는 상수입니다
Tim Malone

2
RTM을 말하는 대신 질문에 답변 해 주셔서 감사합니다. 검색 결과에서 처음으로 나타납니다.
rinogo

2
좋은 대답이지만 워드 프레스의 이름이 잘못되었습니다. 스타일 시트만을위한 것이 아니라 JS, 자산, 포함 등을위한 것입니다.
Paul Feakins

1
@PaulFeakins WordPress에서 불일치에 대한 이름 지정을 시작하지 마십시오. 길고 바람이 부는 길은 누가 아는 곳으로 연결됩니다! ;)
Tim Malone

0

활성 테마로 제어되지 않는 사용자 정의 템플리트를 하위 폴더로 이동해야합니다.

이러한 방식으로 테마를 모든 사용자 정의 파일과 분리하여 사용자 정의 작업을 잃지 않고 테마를 업데이트 할 수 있습니다.

기본 제공 테마는 여기에 있습니다.
------------------------------------
\\ 사이트 \ wp-content \ themes \ some_theme
자녀 테마는 여기에 있습니다
---------------------------
\\ 사이트 \ wp-content \ themes \ some_theme-child

사용자 정의 스타일 및 템플릿 및 모든 포함 (사용자 정의 자바 스크립트, WP에 저장되지 않은 이미지, 사용자 정의 글꼴, json 데이터 파일 및 큐에 넣을 수있는 모든 플러그인)은 테마 외부의 하위 폴더로 이동해야합니다.

\ themes \ some_theme
\ themes \ some_theme-child \ (여기에서 모든 사용자 정의 PHP 템플릿 파일)
\ themes \ some_theme-child \ images
\ themes \ some_theme-child \ includes 
\ themes \ some_theme-child \ languages
\ themes \ some_theme-child \ json 
\ themes \ some_theme-child \ style

wp_enqueue_style ( 'some-css', get_stylesheet_directory () . '/style/some.css', false, '0.0.1', 'all')을 사용 하여 사용자 정의 스타일 페이지 ( 테마의 재정의 된 style.css 아님)를 큐에 넣습니다 .

xhr 호출과 함께 get_stylesheet_directory_uri () 를 사용하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.