Функция get_parent_theme_file_uri() в WordPress 4.7.0: Использование и примеры

GET_PARENT_THEME_FILE_URI() │ WP 4.7.0

Функция get_parent_theme_file_uri() получает URL указанного файла из родительской темы.

Это полезно, когда вам нужно получить URL к файлу родительской темы, независимо от того, где вызвана функция (в родительской или дочерней теме).

Если вам нужно учесть дочернюю тему (то есть получить её URL), используйте функцию get_theme_file_uri().

Для получения пути к файлу (а не URL) воспользуйтесь функцией get_parent_theme_file_path().

Используемые функции

Для работы функции используется:

  • get_template_directory_uri()

Хуки функции

Функция имеет следующий хук:

  • parent_theme_file_uri

Возвращаемое значение

Функция возвращает строку — URL к запрашиваемому файлу.

Использование

get_parent_theme_file_uri( $file );

Параметры

  • $file (string): Название файла, который нужно найти в родительской теме. Например, file.js. Вы можете указать файл с директорией: js/file.php или /js/file.js.

Если оставить параметр пустым, функция вернет URL родительской темы. Для этого посмотрите get_template_directory_uri().

По умолчанию: ''

Примеры

Пример 1: Получение URL файла из родительской темы в дочерней теме

Допустим, мы хотим подключить файл js/my-script.js из родительской темы, но код выполняется в дочерней теме.

Пример кода:

wp_enqueue_script( 'my-script', get_parent_theme_file_uri( 'js/my-script.js' ) );

Изменения

Функция была введена в версии 4.7.0.

Код функции

Вот как выглядит код функции get_parent_theme_file_uri():

function get_parent_theme_file_uri( $file = '' ) {
$file = ltrim( $file, '/' );

if ( empty( $file ) ) {
    $url = get_template_directory_uri();
} else {
    $url = get_template_directory_uri() . '/' . $file;
}

/**
 * Фильтрует URL файла в родительской теме.
 *
 * @since 4.7.0
 *
 * @param string $url  URL файла.
 * @param string $file Название запрашиваемого файла.
 */
return apply_filters( 'parent_theme_file_uri', $url, $file );

}

Связанные функции

Путь к теме (URL папки темы)

  • get_parent_theme_file_path()
  • get_stylesheet_directory()
  • get_stylesheet_directory_uri()
  • get_template_directory()
  • get_template_directory_uri()
  • get_theme_file_path()
  • get_theme_file_uri()
  • get_theme_root()
  • get_theme_root_uri()
  • register_theme_directory()

Связь файлов темы

  • comments_template()
  • get_footer()
  • get_header()
  • get_search_form()
  • get_sidebar()
  • get_stylesheet_uri()
  • get_template_part()
  • is_page_template()
  • load_template()
  • locate_template()

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *