wp_get_theme()
Отримує об’єкт WP_Theme, який містить інформацію про поточну тему.
Аналогічна функція отримання даних плагінів: get_plugins() .
Працює на основі:
WP_Theme()
WP_Theme()
1 раз – 0.00056 сек
(повільно) | 50000 разів – 2.02 сек
(швидко) |
PHP 7.0.5, WP 4.5.2
(повільно) | 50000 разів – 2.02 сек
(швидко) |
PHP 7.0.5, WP 4.5.2
Хуків немає.
Повертає
WP_Theme
. Примірник об’єкта WP_Theme, який містить такі дані:
- Name – назва теми вказана у style.css;
- ThemeURI – УРЛ сторінки шаблону;
- Description – опис теми;
- Author – автор теми;
- AuthorURI – УРЛ автора теми;
- Version – поточна версія;
- Template – (довільно використовується у дочірніх темах) назва папки батьківської теми;
- Status – чи опублікована тема;
- Tags – мітки, що використовуються для опису теми;
- TextDomain – назва, яка використовується при локалізації теми;
- DomainPath – шлях до файлів перекладу теми;
Використання
$ theme = wp_get_theme ($ stylesheet, $ theme_root);
-
$stylesheet
(рядок) -
Назва каталогу, в якому знаходиться тема, зазвичай вона збігається з назвою самої теми. За промовчанням назва поточної теми.
Типово: null -
$theme_root
(рядок) -
Повний шлях до каталогу, в якому розташована тема. За умовчанням шлях виходить функцією get_raw_theme_root().
Типово: null
Приклади
#1 Демонстрація
Давайте подивимося, як виглядає об’єкт, що отримується. Використовуємо функцію на дефолтній темі twentyfourteen:
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 році, наші більш повні теми, що ви створили відповідний магазин веб-сайту з sleek, modern design. Feature your favorite homepage content in either grid or slider. Використовуйте три widget areas для customize вашого веб-сайту, і зміна нашого вмісту посібник з повною width page template і contributor page to show off your authors. Creating a magazine website з WordPress має невідомий easier. [Author] => the WordPress team [AuthorURI] => http://wordpress.org/ [Version] => 1.0 [Template] => [Status] => [Tags] => black, green, white, light, dark, 2-columns, 3-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-background, custom-header, custom-menu , editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready [TextDomain] => twentyfourteen [DomainPath] => ) [headers_sanitized:WP_Theme:private] => [name_translated:WP_Theme:private] => [errors:WP_Theme:private] => [stylesheet:WP_Theme:private] => twentyfourteen [template:WP_Theme:private] => twentyfourteen [parent:WP_Theme:private] => [theme_root_uri:WP_Theme:private] => [textdomain_loaded:WP_Theme:private] => [cache_hash:WP_Theme:private] => ea3ba1457a0fbfd275006de061bbffe5 )
#2 Виведемо назву поточної активної теми
echo wp_get_theme();
#3 Виведемо назву встановленої теми
$ my_theme = wp_get_theme( 'twentyten'); if ( $my_theme->exists() ) echo $my_theme;
#4 Виведемо версію поточної теми
$my_theme = wp_get_theme(); echo $my_theme->get( 'Name' ) . "версія". $ my_theme->get( 'Version' );
#5 Виведемо URL автора поточної теми
$my_theme = wp_get_theme(); echo $my_theme->get( 'AuthorURI' );
#6 Виведемо інші дані поточної теми
$my_theme = wp_get_theme(); echo $my_theme->get('TextDomain'); echo $my_theme->get( 'ThemeURI' );
нотатки
- Global. Масив. $wp_theme_directories
список змін
З версії 3.4.0 | Введено. |
Код wp_get_theme() wp get theme WP 6.0.2
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); }