it-swarm.com.ru

get_template_directory_uri указывает на родительскую тему, а не на дочернюю тему

У меня проблема в том, что 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');

29
Elroy Fernandes

get_template_directory_uri() всегда будет возвращать URI текущей родительской темы.

Чтобы получить URI дочерней темы, вам нужно использовать get_stylesheet_directory_uri().

Вы можете найти их в документации вместе со списком других полезных функций для получения различных местоположений каталогов тем.


Если вы предпочитаете использовать константу, то TEMPLATEPATH сродни вызову get_template_directory() (т.е. родительской теме), а STYLESHEETPATH сродни вызову get_stylesheet_directory() (то есть дочерней теме).

Эти константы устанавливаются ядром WordPress в wp-includes/default-constants.php и выглядят так:

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

Если дочерней темы нет, то обе функции 'template' и 'stylesheet' будут возвращать местоположение родительской темы.

Обратите внимание на разницу между этими функциями и функциями, оканчивающимися на _uri - они будут возвращать абсолютный путь к серверу (например, /home/example/public_html/wp-content/yourtheme), тогда как функции _uri будут возвращать публичный адрес (он же URL), например. http://example.com/wp-content/themes/yourtheme.

60
Tim Malone

Вы должны переместить свои пользовательские шаблоны, которые не контролируются активной темой, в дочернюю папку.

Храните тему отдельно от всех настроенных файлов, таким образом, тема может быть обновлена ​​без потери вашей пользовательской работы.

Здесь находится ваша готовая тема 
 ---------------------------------- - [. .____] \\ сайта\сор-содержимое\Themes\some_theme
Ваша детская тема живет здесь 
 --------------------------- 
 \\ Сайт\wp-content\темы\some_theme-ребенок

Ваши пользовательские стили и шаблоны и все ваши включения (такие как пользовательский javascript, изображения, которые не сохраняются в WP, пользовательские шрифты, файлы данных json и любые плагины, которые вы можете поставить в очередь) должны быть перемещены в дочернюю папку вне темы.

\themes\some_theme 
\themes\some_theme-child\(все ваши файлы пользовательских шаблонов php здесь) 
\themes\some_theme-child\images 
\themes\some_theme-child\включает в себя 
\themes\some_theme-child\languages ​​
\themes\some_theme-child\json 
\themes\some_theme-child\style 

Для пользовательских страниц стилей ( не переопределенные темы style.css ) поставьте в очередь wp_enqueue_style ('some-css', get_stylesheet_directory () . '/Style/some.css', false, ' 0.0.1 ',' all ');

Используйте get_stylesheet_directory_uri () с вашими вызовами xhr и т.д.

0
Greg Bologna