Функция wp_get_theme() │ Получение информации о темах WordPress

WP_GET_THEME() │ WP 3.4.0

Функция wp_get_theme() возвращает объект темы WordPress.

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

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

Время выполнения:

  • 1 раз — 0.00056 сек (медленно)
  • 50000 раз — 2.02 сек (быстро)

Что эта функция возвращает

Функция возвращает объект типа WP_Theme. Прежде чем с ним работать, убедитесь, что тема существует, используя метод exists().

Описание параметров

wp_get_theme( $stylesheet, $theme_root );
  • $stylesheet (строка): Название директории для темы. По умолчанию используется активная тема.
  • $theme_root (строка): Абсолютный путь к корню темы. Если не указан, используется функция get_raw_theme_root() для определения корня темы из предоставленного имени директории темы.

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

Чтобы лучше понять, как работает wp_get_theme(), рассмотрим несколько примеров.

Пример 1: Получение объекта темы по умолчанию

Если мы используем эту функцию для темы по умолчанию 'twentyfourteen', мы получаем:

$theme = wp_get_theme();
print_r($theme);

В результате мы получим что-то подобное:

WP_Theme Object
(
    [theme_root:WP_Theme:private] => C:sitesexample.comwww/wp-content/themes
    [headers:WP_Theme:private] => Array
        (
            [Name] => Twenty Fourteen
            [ThemeURI] => http://wordpress.org/themes/twentyfourteen
            [Description] => В 2014 году наша стандартная тема позволяет вам ....
            [Author] => команда WordPress
            [AuthorURI] => http://wordpress.org/
            [Version] => 1.0
            ...
        )
    ...
)

Пример 2: Вывод имени активной темы

echo esc_html( wp_get_theme() ); // Twenty Fourteen

Пример 3: Проверка ��уществования темы

$my_theme = wp_get_theme( 'twentyten' );

if ( $my_theme->exists() ) {
    echo esc_html( $my_theme );
}

Пример 4: Получение версии текущей темы

$my_theme = wp_get_theme();
echo esc_html( $my_theme->get( 'Name' ) . " версия " . $my_theme->get( 'Version' ) );

Пример 5: Получение URL автора текущей темы

$my_theme = wp_get_theme();
echo esc_html( $my_theme->get( 'AuthorURI' ) );

Пример 6: Другие данные текущей темы

$my_theme = wp_get_theme();

echo esc_html( $my_theme->get( 'TextDomain' ) );
echo esc_html( $my_theme->get( 'ThemeURI' ) );

Заметки

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

Изменения

Эта функция была добавлена в версии 3.4.0 WordPress.

Определение функции

Функция находится в файле wp-includes/theme.php и выглядит следующим образом:

function wp_get_theme( $stylesheet = '', $theme_root = '' ) {
    global $wp_theme_directories;

    if ( empty( $stylesheet ) ) {
        $stylesheet = get_stylesheet();
    }

    if ( empty( $theme_root ) ) {
        $theme_root = get_raw_theme_root( $stylesheet );
        if ( false === $theme_root ) {
            $theme_root = WP_CONTENT_DIR . '/themes';
        } elseif ( ! in_array( $theme_root, (array) $wp_theme_directories, true ) ) {
            $theme_root = WP_CONTENT_DIR . $theme_root;
        }
    }

    return new WP_Theme( $stylesheet, $theme_root );
}

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

Leave a Reply

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