Genesis Constants
Directory and URL constants #
These constants are available to child theme developers for convenience and performance:
Constant | Equivalent |
---|---|
PARENT_DIR |
get_template_directory() |
CHILD_DIR |
get_stylesheet_directory() |
PARENT_URL |
get_template_directory_uri() |
CHILD_URL |
get_stylesheet_directory_uri() |
You can use the code in the Constant column wherever you might use the code in the Equivalent column in your child theme. So instead of:
wp_enqueue_script(
genesis_get_theme_handle(),
get_stylesheet_directory_uri() . '/js/custom-theme.js',
array( 'jquery' ),
genesis_get_theme_version(),
true
);
You can do this for brevity and to avoid an additional function call:
wp_enqueue_script(
genesis_get_theme_handle(),
CHILD_URL . '/js/custom-theme.js', // <-- Constant used here.
array( 'jquery' ),
genesis_get_theme_version(),
true
);
Additional constants #
Genesis uses additional constants that are mostly useful for those contributing to Genesis itself:
Constant | Example Values |
---|---|
PARENT_THEME_NAME |
Genesis |
PARENT_THEME_VERSION |
2.8.0, 2.8.0-beta2 |
PARENT_THEME_BRANCH |
2.8 |
GENESIS_IMAGES_URL |
https://example.com/wp-content/themes/genesis/images |
GENESIS_ADMIN_IMAGES_URL |
https://example.com/wp-content/themes/genesis/lib/admin/images |
GENESIS_CSS_URL |
https://example.com/wp-content/themes/genesis/lib/css |
GENESIS_VIEWS_DIR |
/path/to/site/wp-content/themes/genesis/lib/views |
GENESIS_CONFIG_DIR |
/path/to/site/wp-content/themes/genesis/config |
GENESIS_SETTINGS_FIELD |
genesis-settings |
GENESIS_SEO_SETTINGS_FIELD |
genesis-seo-settings |
GENESIS_CPT_ARCHIVE_SETTINGS_FIELD_PREFIX |
genesis-cpt-archive-settings- |
Testing for Genesis features #
It is generally better to test for a specific function or class rather than using the Genesis version constants. We recommend this:
if ( function_exists( 'genesis_get_config' ) ) {
// `genesis_get_config()` exists and is safe to use.
}
Over comparisons like this:
if ( version_compare( PARENT_THEME_VERSION, '2.8.0', '>=' ) ) {
// Genesis version is 2.8.0 or higher.
}
Checking for the function by name ensures your code will not throw a fatal error if that function is deprecated and removed in a future version of Genesis.