Themes: Add theme support for appearance tools.

Reapplies the patch reverted in #57649 as the original patch was no longer applying cleanly. Adds theme support for appearance tools to `WP_Theme_JSON_Resolver`.

Props andrewserong, mukesh27, noisysocks.
Fixes #60118.



git-svn-id: https://develop.svn.wordpress.org/trunk@57255 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Isabel Brison 2024-01-09 06:24:44 +00:00
parent 15b5be2acd
commit cb564055e0
2 changed files with 11 additions and 0 deletions

View File

@ -327,6 +327,11 @@ class WP_Theme_JSON_Resolver {
$theme_support_data['settings']['border']['style'] = true;
$theme_support_data['settings']['border']['width'] = true;
}
// Allow themes to enable appearance tools via theme_support.
if ( current_theme_supports( 'appearance-tools' ) ) {
$theme_support_data['settings']['appearanceTools'] = true;
}
}
$with_theme_supports = new WP_Theme_JSON( $theme_support_data );
$with_theme_supports->merge( static::$theme );

View File

@ -433,6 +433,9 @@ class Tests_Theme_wpThemeJsonResolver extends WP_UnitTestCase {
/**
* @ticket 54336
* @ticket 60118
*
* @covers ::add_theme_support
*/
public function test_add_theme_supports_are_loaded_for_themes_without_theme_json() {
switch_theme( 'default' );
@ -455,15 +458,18 @@ class Tests_Theme_wpThemeJsonResolver extends WP_UnitTestCase {
);
add_theme_support( 'editor-color-palette', $color_palette );
add_theme_support( 'custom-line-height' );
add_theme_support( 'appearance-tools' );
$settings = WP_Theme_JSON_Resolver::get_theme_data()->get_settings();
remove_theme_support( 'custom-line-height' );
remove_theme_support( 'editor-color-palette' );
remove_theme_support( 'appearance-tools' );
$this->assertFalse( wp_theme_has_theme_json() );
$this->assertTrue( $settings['typography']['lineHeight'] );
$this->assertSame( $color_palette, $settings['color']['palette']['theme'] );
$this->assertTrue( $settings['border']['color'], 'Support for "appearance-tools" was not added.' );
}
/**