Функция GET_TEMPLATE_DIRECTORY_URI() в WordPress: описание, альтернативы, примеры

## Функция GET_TEMPLATE_DIRECTORY_URI() │ WP 1.5.0

Функция GET_TEMPLATE_DIRECTORY_URI() позволяет получить URL (адрес) каталога активной темы в WordPress. Она возвращает ссылку на корневой каталог темы, но не на дочернюю тему, и не содержит завершающего слэша ("/") в конце.

### Альтернативы

Вы можете использовать также функцию get_bloginfo('template_url') вместо GET_TEMPLATE_DIRECTORY_URI(). 

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

Чтобы получить путь к каталогу темы (папке), используйте функцию get_template_directory().

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

### Использование функций

- get_theme_root_uri()
- get_template()

### Упоминания

Эта функция используется в таких функциях как get_parent_theme_file_uri() и get_theme_file_uri().

### Хуки функции

Использует хук template_directory_uri.

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

Функция возвращает строку — URI (адрес) к каталогу шаблона активной темы.

### Пример использования

Для получения URL темы вы можете использовать следующий код:

```php
echo get_template_directory_uri();
// вывод: http://example.com/wp-content/themes/theme_name

Подключение скрипта

Если вы хотите подключить пользовательский скрипт, используйте следующий код:

add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
function my_scripts_method() {
    wp_enqueue_script(
        'custom_script',
        get_template_directory_uri() . '/js/custom_script.js',
        ['jquery']
    );
}

Использование функции в HTML-тэге

Чтобы избежать проблем с проверкой вашего кода, используйте функции esc_url() или esc_attr(), чтобы очистить результат вызова функции. Это нужно для всех функций, которые используются в атрибутах тегов. Пример очистки:

Изменения в версии

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

Код функции

Вот сами детали реализации функции get_template_directory_uri():

function get_template_directory_uri() {
    $template         = str_replace( '%2F', '/', rawurlencode( get_template() ) );
    $theme_root_uri   = get_theme_root_uri( $template );
    $template_dir_uri = "$theme_root_uri/$template";

    return apply_filters( 'template_directory_uri', $template_dir_uri, $template, $theme_root_uri );
}

Похожие функции

  • get_parent_theme_file_path()
  • get_parent_theme_file_uri()
  • get_stylesheet_directory()
  • get_stylesheet_directory_uri()
  • get_template_directory()
  • 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 не будет опубликован. Обязательные поля помечены *