52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * WPSEO plugin file.
 | 
						|
 *
 | 
						|
 * @package WPSEO\Admin\Tracking
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * Represents the theme data.
 | 
						|
 */
 | 
						|
class WPSEO_Tracking_Theme_Data implements WPSEO_Collection {
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Returns the collection data.
 | 
						|
	 *
 | 
						|
	 * @return array The collection data.
 | 
						|
	 */
 | 
						|
	public function get() {
 | 
						|
		$theme = wp_get_theme();
 | 
						|
 | 
						|
		return [
 | 
						|
			'theme' => [
 | 
						|
				'name'                 => $theme->get( 'Name' ),
 | 
						|
				'url'                  => $theme->get( 'ThemeURI' ),
 | 
						|
				'version'              => $theme->get( 'Version' ),
 | 
						|
				'author'               => [
 | 
						|
					'name' => $theme->get( 'Author' ),
 | 
						|
					'url'  => $theme->get( 'AuthorURI' ),
 | 
						|
				],
 | 
						|
				'parentTheme'          => $this->get_parent_theme( $theme ),
 | 
						|
				'blockTemplateSupport' => current_theme_supports( 'block-templates' ),
 | 
						|
				'isBlockTheme'         => function_exists( 'wp_is_block_theme' ) && wp_is_block_theme(),
 | 
						|
			],
 | 
						|
		];
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Returns the name of the parent theme.
 | 
						|
	 *
 | 
						|
	 * @param WP_Theme $theme The theme object.
 | 
						|
	 *
 | 
						|
	 * @return string|null The name of the parent theme or null.
 | 
						|
	 */
 | 
						|
	private function get_parent_theme( WP_Theme $theme ) {
 | 
						|
		if ( is_child_theme() ) {
 | 
						|
			return $theme->get( 'Template' );
 | 
						|
		}
 | 
						|
 | 
						|
		return null;
 | 
						|
	}
 | 
						|
}
 |