piotrpress / wordpress-theme
This library is WordPress theme singleton base class with methods to get data from theme's header fields.
v1.0.0
2025-06-12 16:23 UTC
Requires
- php: >=7.4
- piotrpress/singleton: ^7.0.0
This package is auto-updated.
Last update: 2025-06-12 16:25:34 UTC
README
This library is WordPress theme singleton base class with methods to get data from theme's header fields.
Installation
composer require piotrpress/wordpress-theme
Usage
/** * Theme Name: Example Theme * Theme URI: https://example.com/theme/ * Description: Example Theme description. * Tags: block-patterns, full-site-editing * Version: 1.0.0 * Tested up to: 6.8 * Requires at least: 6.0 * Requires PHP: 7.4 * Author: John Smith * Author URI: https://example.com/theme/author/ * License: GPL v3 or later * License URI: https://www.gnu.org/licenses/gpl-3.0.txt * Update URI: https://example.com/theme/update/ * Text Domain: example-theme * Domain Path: /languages */ require __DIR__ . '/vendor/autoload.php'; class Example extends \PiotrPress\WordPress\Theme {} echo Example::getName();
Methods
Basic static methods handling theme's default header fields
getName()
- returnsstring
with the name of the theme fromTheme Name
header fieldgetThemeURI()
- returnsstring
with the home page of the theme or emptystring
ifTheme URI
header field is not setgetDescription()
- returnsstring
with a short description of the theme or emptystring
ifDescription
header field is not setgetTags()
- returnsstring
with the tags of the theme or emptystring
ifTags
header field is not setgetVersion()
- returnsstring
with the current version number of the theme or emptystring
ifVersion
header field is not setgetRequiresWP()
- returnsstring
with the lowest WordPress version that the theme will work on or emptystring
ifRequires at least
header field is not setgetRequiresPHP()
- returnsstring
with the minimum required PHP version or emptystring
ifRequires PHP
header field is not setgetAuthor()
- returnsstring
with the name of the theme's author or emptystring
ifAuthor
header field is not setgetAuthorURI()
- returnsstring
with the website of the theme's author or emptystring
ifAuthor URI
header field is not setgetUpdateURI()
- returnsstring
with third-party theme's update server or emptystring
ifUpdate URI
header field is not setgetTextDomain()
- returnsstring
with the gettext text domain of the theme or emptystring
ifText Domain
header field is not setgetDomainPath()
- returnsstring
with the path to translations directory or emptystring
ifDomain Path
header field is not set
Additional static methods
getDir()
- returnsstring
with the path to theme's directorygetUrl()
- returnsstring
with the url to theme's directorygetSlug()
- returnsstring
with the sanitized name of the themegetPrefix()
- returnsstring
with the prefix for theme's hooks
Inherited Singleton's static methods
getInstance()
- returns the instance of the Theme class
Handling custom theme's header fields
- Add WordPress support for extra theme's header fields using
extra_theme_headers
filter:
add_filter( 'extra_theme_headers', function () { return [ 'License', 'License URI' ]; } );
- Add methods to handle extra theme's header fields:
class Example extends \PiotrPress\WordPress\Theme { public static function getLicenseURI() { return self::get( 'License URI' ); } }
NOTE: get
prefixed methods are automagically created for theme's header fields that meet valid function name rules. e.g. getLicense()
method.
Requirements
PHP >= 7.4
version.