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