Функция get_parent_theme_file_uri()
используется для получения URL указанного файла, который находится в родительской теме. Эта функция полезна, когда нужно получить URL файла родительской темы, независимо от того, вызывается ли функция в родительской или дочерней теме.
get_parent_theme_file_uri( $file = '' )
Параметры
- $file (string, необязательный): Относительный путь к файлу в родительской теме. Например,
file.js
илиjs/file.php
. Если параметр не указан, возвращается URL директории родительской темы.
Возвращаемое значение
- (string): URL файла или директории родительской темы.
Особенности
- Используйте
get_theme_file_uri()
, если вам нужно учитывать наличие дочерней темы. - Используйте
get_parent_theme_file_path()
, если вам необходимо получить путь к файлу (не URL) аналогичным способом. - Функция основана на
get_template_directory_uri()
. - Фильтр:
parent_theme_file_uri
.
Пример 1: Получение URL файла родительской темы из дочерней темы
Предположим, вам нужно подключить JavaScript файл js/my-script.js
из родительской темы, но код вызывается в дочерней теме:
wp_enqueue_script( 'my-script', get_parent_theme_file_uri( 'js/my-script.js' ) );
Пример 2: Подключение CSS файла родительской темы
Если вам нужно подключить CSS файл style.css
из родительской темы:
function genius_child_theme_styles() {
// Получаем URL файла style.css из родительской темы
$parent_style = 'parent-style'; // Идентификатор стиля
// Регистрируем и подключаем стили родительской темы
wp_enqueue_style( $parent_style, get_parent_theme_file_uri( '/style.css' ) );
// Подключаем стили дочерней темы
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style ), // Указываем зависимость от стилей родительской темы
wp_get_theme()->get('Version')
);
}
add_action( 'wp_enqueue_scripts', 'genius_child_theme_styles' );
Пример 3: Включение PHP файла из родительской темы
Если нужно включить файл шаблона header.php
из родительской темы:
// Включаем файл header.php из родительской темы
require_once get_parent_theme_file_path( '/header.php' );
Заключение
Функция get_parent_theme_file_uri()
является важным инструментом для разработчиков, работающих с дочерними темами, так как она упрощает доступ к файлам родительской темы. Независимо от того, работаете ли вы с CSS, JavaScript или PHP файлами, эта функция помогает поддерживать структурированность и облегчает работу с ресурсами родительской темы.