WP_Theme_JSON::should_override_preset()protected staticWP 5.9.0

Устарела с версии 6.0.0. Больше не поддерживается и может быть удалена. Смотрите get_metadata_boolean.

Determines whether a presets should be overridden or not.

Метод класса: WP_Theme_JSON{}

Хуков нет.

Возвращает

true|false.

Использование

$result = WP_Theme_JSON::should_override_preset( $theme_json, $path, $override );
$theme_json(массив) (обязательный)
The theme.json like structure to inspect.
$path(массив) (обязательный)
Path to inspect.
$override(true|false|массив) (обязательный)
Data to compute whether to override the preset.

Список изменений

С версии 5.9.0 Введена.
Устарела с 6.0.0 Use {@see 'get_metadata_boolean'} instead.

Код WP_Theme_JSON::should_override_preset() WP 6.4.3

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