WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Платформа для конвертации и монетизации трафика
функция не описана

WC_REST_System_Status_V2_Controller::get_theme_info() public WC 1.0

Get info on the current active theme, info on parent theme (if presnet) and a list of template overrides.

{} Это метод класса: WC_REST_System_Status_V2_Controller{}

Хуки из метода
Возвращает

Массив.

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

$WC_REST_System_Status_V2_Controller = new WC_REST_System_Status_V2_Controller();
$WC_REST_System_Status_V2_Controller->get_theme_info();

Код WC_REST_System_Status_V2_Controller::get_theme_info() WC 4.7.1

<?php
public function get_theme_info() {
	$active_theme = wp_get_theme();

	// Get parent theme info if this theme is a child theme, otherwise
	// pass empty info in the response.
	if ( is_child_theme() ) {
		$parent_theme      = wp_get_theme( $active_theme->template );
		$parent_theme_info = array(
			'parent_name'           => $parent_theme->name,
			'parent_version'        => $parent_theme->version,
			'parent_version_latest' => WC_Admin_Status::get_latest_theme_version( $parent_theme ),
			'parent_author_url'     => $parent_theme->{'Author URI'},
		);
	} else {
		$parent_theme_info = array(
			'parent_name'           => '',
			'parent_version'        => '',
			'parent_version_latest' => '',
			'parent_author_url'     => '',
		);
	}

	/**
	 * Scan the theme directory for all WC templates to see if our theme
	 * overrides any of them.
	 */
	$override_files     = array();
	$outdated_templates = false;
	$scan_files         = WC_Admin_Status::scan_template_files( WC()->plugin_path() . '/templates/' );

	// Include *-product_<cat|tag> templates for backwards compatibility.
	$scan_files[] = 'content-product_cat.php';
	$scan_files[] = 'taxonomy-product_cat.php';
	$scan_files[] = 'taxonomy-product_tag.php';

	foreach ( $scan_files as $file ) {
		$located = apply_filters( 'wc_get_template', $file, $file, array(), WC()->template_path(), WC()->plugin_path() . '/templates/' );

		if ( file_exists( $located ) ) {
			$theme_file = $located;
		} elseif ( file_exists( get_stylesheet_directory() . '/' . $file ) ) {
			$theme_file = get_stylesheet_directory() . '/' . $file;
		} elseif ( file_exists( get_stylesheet_directory() . '/' . WC()->template_path() . $file ) ) {
			$theme_file = get_stylesheet_directory() . '/' . WC()->template_path() . $file;
		} elseif ( file_exists( get_template_directory() . '/' . $file ) ) {
			$theme_file = get_template_directory() . '/' . $file;
		} elseif ( file_exists( get_template_directory() . '/' . WC()->template_path() . $file ) ) {
			$theme_file = get_template_directory() . '/' . WC()->template_path() . $file;
		} else {
			$theme_file = false;
		}

		if ( ! empty( $theme_file ) ) {
			$core_file = $file;

			// Update *-product_<cat|tag> template name before searching in core.
			if ( false !== strpos( $core_file, '-product_cat' ) || false !== strpos( $core_file, '-product_tag' ) ) {
				$core_file = str_replace( '_', '-', $core_file );
			}

			$core_version  = WC_Admin_Status::get_file_version( WC()->plugin_path() . '/templates/' . $core_file );
			$theme_version = WC_Admin_Status::get_file_version( $theme_file );
			if ( $core_version && ( empty( $theme_version ) || version_compare( $theme_version, $core_version, '<' ) ) ) {
				if ( ! $outdated_templates ) {
					$outdated_templates = true;
				}
			}
			$override_files[] = array(
				'file'         => str_replace( WP_CONTENT_DIR . '/themes/', '', $theme_file ),
				'version'      => $theme_version,
				'core_version' => $core_version,
			);
		}
	}

	$active_theme_info = array(
		'name'                    => $active_theme->name,
		'version'                 => $active_theme->version,
		'version_latest'          => WC_Admin_Status::get_latest_theme_version( $active_theme ),
		'author_url'              => esc_url_raw( $active_theme->{'Author URI'} ),
		'is_child_theme'          => is_child_theme(),
		'has_woocommerce_support' => current_theme_supports( 'woocommerce' ),
		'has_woocommerce_file'    => ( file_exists( get_stylesheet_directory() . '/woocommerce.php' ) || file_exists( get_template_directory() . '/woocommerce.php' ) ),
		'has_outdated_templates'  => $outdated_templates,
		'overrides'               => $override_files,
	);

	return array_merge( $active_theme_info, $parent_theme_info );
}