Warning: This method has been deprecated. Use ‘get_metadata_boolean’ instead.
WP_Theme_JSON::should_override_preset( array $theme_json, array $path, bool|array $override ): boolean
Determines whether a presets should be overridden or not.
Parameters
-
$theme_json
array Required -
The theme.json like structure to inspect.
-
$path
array Required -
Path to inspect.
-
$override
bool|array Required -
Data to compute whether to override the preset.
Return
boolean
Source
File: wp-includes/class-wp-theme-json.php
.
View all references
protected static function should_override_preset( $theme_json, $path, $override ) {
_deprecated_function( __METHOD__, '6.0.0', 'get_metadata_boolean' );
if ( is_bool( $override ) ) {
return $override;
}
/*
* The relationship between whether to override the defaults
* and whether the defaults are enabled is inverse:
*
* - If defaults are enabled => theme presets should not be overridden
* - If defaults are disabled => theme presets should be overridden
*
* For example, a theme sets defaultPalette to false,
* making the default palette hidden from the user.
* In that case, we want all the theme presets to be present,
* so they should override the defaults.
*/
if ( is_array( $override ) ) {
$value = _wp_array_get( $theme_json, array_merge( $path, $override ) );
if ( isset( $value ) ) {
return ! $value;
}
// Search the top-level key if none was found for this node.
$value = _wp_array_get( $theme_json, array_merge( array( 'settings' ), $override ) );
if ( isset( $value ) ) {
return ! $value;
}
return true;
}
}
Changelog
Version | Description |
---|---|
6.0.0 | Use 'get_metadata_boolean' instead. |
5.9.0 | Introduced. |