get_theme_root() WP 1.5.0

Отримує абсолютний шлях папки (каталогу) із темами WordPress. Слеш наприкінці відсутня.

Приклад шляху: /home/example.com/public_html/wp-content/themes.

Основа для:
get_template_directory()
1 раз – 0.00001 сек
(швидкість світла) | 50000 разів – 0.01 сек
(швидкість світла) |
PHP 7.4.8, WP 5.6.2

Хуки з функції

Повертає

Строку. Шлях до директорії шаблонів.

Використання

$ path = get_theme_root ($ stylesheet_or_template);
$stylesheet_or_template
(рядок)

Назва теми чи стилів теми, батьківську папку теми якої потрібно отримати.

У 99% випадків цей параметр марний. Він потрібен для випадків, коли для тем вказано кілька папок і нам потрібно отримати батьківську папку всіх тем, в якій лежить зазначена в цьому параметрі тема. Див global $wp_theme_directories.
За замовчуванням: ”

Приклади

1

#1 Кількість підкаталогів у каталозі теми

function display_themes_subdirs_count_info(){

  $theme_root = get_theme_root();
  $files_array = glob( "$theme_root/*", GLOB_ONLYDIR );

  echo count($files_array). " підкаталогів у каталозі: $ theme_root";
}
0

#2 Отримаємо повний шлях до каталогу тем:

echo get_theme_root(); //> /home/k/foo/example.com/www/wp-content/themes
echo get_theme_root( 'my-theme'); //> /home/k/foo/example.com/www/wp-content/themes

нотатки

  • Global. Масив. $wp_theme_directories

список змін

З версії 1.5.0Введено.

Код get_theme_root() WP 6.0.2

function get_theme_root( $stylesheet_or_template = '' ) {
	Global $wp_theme_directories;

	$theme_root = '';

	if ( $stylesheet_or_template ) {
		$ theme_root = get_raw_theme_root ($ stylesheet_or_template);
		if ($ theme_root) {
			// Всіх, що підключаються WP_CONTENT_DIR не підлягають керуванню, що поточно registered як theme directory.
			// Ці дії relative theme roots the benefit of the doubt when things go haywire.
			if ( ! in_array( $theme_root, (array) $wp_theme_directories, true ) ) {
				$theme_root = WP_CONTENT_DIR . $theme_root;
			}
		}
	}

	if (! $ theme_root) {
		$theme_root = WP_CONTENT_DIR . '/themes';
	}

	/**
	 * Filters absolute path до themes directory.
	 *
	 * @ Since 1.5.0
	 *
	 * @param string $theme_root Absolute path to themes directory.
	 */
	return apply_filters( 'theme_root', $ theme_root );
}

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

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