123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- namespace YahnisElsts\PluginUpdateChecker\v5p1\Theme;
- use YahnisElsts\PluginUpdateChecker\v5p1\InstalledPackage;
- if ( !class_exists(Package::class, false) ):
- class Package extends InstalledPackage {
- /**
- * @var string Theme directory name.
- */
- protected $stylesheet;
- /**
- * @var \WP_Theme Theme object.
- */
- protected $theme;
- public function __construct($stylesheet, $updateChecker) {
- $this->stylesheet = $stylesheet;
- $this->theme = wp_get_theme($this->stylesheet);
- parent::__construct($updateChecker);
- }
- public function getInstalledVersion() {
- return $this->theme->get('Version');
- }
- public function getAbsoluteDirectoryPath() {
- if ( method_exists($this->theme, 'get_stylesheet_directory') ) {
- return $this->theme->get_stylesheet_directory(); //Available since WP 3.4.
- }
- return get_theme_root($this->stylesheet) . '/' . $this->stylesheet;
- }
- /**
- * Get the value of a specific plugin or theme header.
- *
- * @param string $headerName
- * @param string $defaultValue
- * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty.
- */
- public function getHeaderValue($headerName, $defaultValue = '') {
- $value = $this->theme->get($headerName);
- if ( ($headerName === false) || ($headerName === '') ) {
- return $defaultValue;
- }
- return $value;
- }
- protected function getHeaderNames() {
- return array(
- 'Name' => 'Theme Name',
- 'ThemeURI' => 'Theme URI',
- 'Description' => 'Description',
- 'Author' => 'Author',
- 'AuthorURI' => 'Author URI',
- 'Version' => 'Version',
- 'Template' => 'Template',
- 'Status' => 'Status',
- 'Tags' => 'Tags',
- 'TextDomain' => 'Text Domain',
- 'DomainPath' => 'Domain Path',
- );
- }
- }
- endif;
|