Как использовать функцию GET_THEME_ROOT_URI() в WordPress

Как использовать функцию GET_THEME_ROOT_URI() в WordPress

Функция get_theme_root_uri() позволяет получить URI (адрес) директории тем в WordPress. Это полезно для разработчиков и пользователей, которые хотят работать с файлами своих тем.

Что такое GET_THEME_ROOT_URI()?

  • Описание: Функция возвращает URI для директории тем.
  • Особенности: URI не содержит конечного слэша.
  • Используемые функции: Результат этой функции можно использовать в других функциях, таких как get_stylesheet_directory_uri() и get_template_directory_uri().

Производительность

  • Время выполнения функции:
    • 1 раз — 0.00004 сек (очень быстро)
    • 50000 раз — 2.11 сек (быстро)

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

  • Тип: Строка. Это URI директории тем.

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

Для того чтобы использовать функцию get_theme_root_uri(), необходимо указать параметры:

get_theme_root_uri( $stylesheet_or_template, $theme_root );

Параметры

  1. $stylesheet_or_template (строка) — название таблицы стилей или шаблона вашей темы. Если этот параметр не указан, будет использована основная директория темы.

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

  2. $theme_root (строка) — директория темы, для которой будет производиться расчет. Это позволяет избежать вызова функции get_raw_theme_root().

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

Пример использования функции

Вот простой пример, как можно использовать get_theme_root_uri():

$themes_directory = get_theme_root_uri();
echo $themes_directory;

// вывод: https://ваш-сайт/wp-content/themes

Важные замечания

  • Глобальная переменная: Используется массив $wp_theme_directories, который содержит список директорий тем.

Обновления функции

  • Версия: Эта функция была введена в версии WordPress 1.5.0.

Исходный код функции

Вот как выглядит функция get_theme_root_uri() в файле wp-includes/theme.php:

function get_theme_root_uri( $stylesheet_or_template = '', $theme_root = '' ) {
global $wp_theme_directories;

if ( $stylesheet_or_template && ! $theme_root ) {
    $theme_root = get_raw_theme_root( $stylesheet_or_template );
}

if ( $stylesheet_or_template && $theme_root ) {
    if ( in_array( $theme_root, (array) $wp_theme_directories, true ) ) {
        if ( str_starts_with( $theme_root, WP_CONTENT_DIR ) ) {
            $theme_root_uri = content_url( str_replace( WP_CONTENT_DIR, '', $theme_root ) );
        } elseif ( str_starts_with( $theme_root, ABSPATH ) ) {
            $theme_root_uri = site_url( str_replace( ABSPATH, '', $theme_root ) );
        } elseif ( str_starts_with( $theme_root, WP_PLUGIN_DIR ) || str_starts_with( $theme_root, WPMU_PLUGIN_DIR ) ) {
            $theme_root_uri = plugins_url( basename( $theme_root ), $theme_root );
        } else {
            $theme_root_uri = $theme_root;
        }
    } else {
        $theme_root_uri = content_url( $theme_root );
    }
} else {
    $theme_root_uri = content_url( 'themes' );
}

return apply_filters( 'theme_root_uri', $theme_root_uri, get_option( 'siteurl' ), $stylesheet_or_template );

}

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

Функция get_theme_root_uri() связана с несколькими другими функциями, которые могут быть полезны при работе с темами:

  • get_parent_theme_file_path()
  • get_stylesheet_directory()
  • get_template_directory()
  • register_theme_directory()

Эти функции помогут вам управлять файлами тем и получать информацию о них.

Теперь вы можете использовать функцию get_theme_root_uri() в своих проектах WordPress и знать, как правильно её применять!

Leave a Reply

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