wp_get_theme() WP 3.4.0

Отримує об’єкт WP_Theme, який містить інформацію про поточну тему.

Аналогічна функція отримання даних плагінів: get_plugins() .

Працює на основі:
WP_Theme()
1 раз – 0.00056 сек
(повільно) | 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

Приклади

0

#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
)
0

#2 Виведемо назву поточної активної теми

echo wp_get_theme();
0

#3 Виведемо назву встановленої теми

$ my_theme = wp_get_theme( 'twentyten');
if ( $my_theme->exists() )
	echo $my_theme;
0

#4 Виведемо версію поточної теми

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

#5 Виведемо URL автора поточної теми

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

#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 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);
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *