Функция get_parent_theme_file_path()
в WordPress используется для получения полного пути от корневого каталога сайта до текущей родительской темы. Она не возвращает слэш на конце пути.
string get_parent_theme_file_path( string $file = '' )
Аргументы:
$file
(string) (необязательный): Путь к файлу относительно корневого каталога родительской темы. По умолчанию пустая строка.
Возвращаемое значение:
- (string): Полный путь к файлу в родительской теме или путь к папке с родительской темой.
Пример 1: Получение пути до папки текущей темы
Этот пример демонстрирует получение пути к корневому каталогу родительской темы. Результат аналогичен использованию функции get_template_directory()
.
echo get_parent_theme_file_path();
// Результат: /home/example.com/public_html/wp-content/themes/theme_name
Пример 2: Получение пути к файлу в текущей теме
В этом примере мы получаем полный путь к файлу custom.js
, который находится в папке js
родительской темы.
echo get_parent_theme_file_path('js/custom.js');
// Результат: /home/example.com/public_html/wp-content/themes/theme_name/js/custom.js
Пример 3: Подключение файла стилей из родительской темы
Этот пример показывает, как использовать get_parent_theme_file_path()
, чтобы подключить файл стилей из родительской темы.
function genius_enqueue_parent_theme_styles() {
// Получаем полный путь к файлу style.css в родительской теме
$parent_style_path = get_parent_theme_file_path('style.css');
// Проверяем, существует ли файл
if ( file_exists( $parent_style_path ) ) {
// Подключаем файл стилей родительской темы
wp_enqueue_style( 'parent-theme-style', get_template_directory_uri() . '/style.css' );
}
}
add_action( 'wp_enqueue_scripts', 'genius_enqueue_parent_theme_styles' );
Пример 4: Подключение файла скрипта из родительской темы
Этот пример демонстрирует, как подключить файл скрипта из родительской темы.
function genius_enqueue_parent_theme_scripts() {
// Получаем полный путь к файлу custom.js в родительской теме
$parent_script_path = get_parent_theme_file_path('js/custom.js');
// Проверяем, существует ли файл
if ( file_exists( $parent_script_path ) ) {
// Подключаем файл скрипта родительской темы
wp_enqueue_script( 'parent-theme-custom-js', get_template_directory_uri() . '/js/custom.js', array(), null, true );
}
}
add_action( 'wp_enqueue_scripts', 'genius_enqueue_parent_theme_scripts' );
Заключение
Функция get_parent_theme_file_path()
является удобным инструментом для получения полного пути к файлам в родительской теме в WordPress. Это особенно полезно при разработке дочерних тем, где доступ к ресурсам родительской темы является необходимым. Использование этой функции позволяет легко и безопасно подключать файлы из родительской темы, проверяя их наличие перед подключением.
Функция работает аналогично get_template_directory()
, но позволяет указать имя файла, чтобы сразу получить путь к нему. В отличие от get_theme_file_uri()
, она возвращает путь к файлу, а не URL, и не учитывает дочернюю тему. Для учета дочерней темы используйте get_theme_file_path()
.