Customize: Only add custom-background
to body_class()
if the current theme supports custom background.
Props wido, swissspidy, ocean90, Mte90. Fixes #38168. git-svn-id: https://develop.svn.wordpress.org/trunk@45088 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
01bc0b9772
commit
28e7acf168
@ -773,7 +773,8 @@ function get_body_class( $class = '' ) {
|
||||
$classes[] = 'no-customize-support';
|
||||
}
|
||||
|
||||
if ( get_background_color() !== get_theme_support( 'custom-background', 'default-color' ) || get_background_image() ) {
|
||||
if ( current_theme_supports( 'custom-background' )
|
||||
&& ( get_background_color() !== get_theme_support( 'custom-background', 'default-color' ) || get_background_image() ) ) {
|
||||
$classes[] = 'custom-background';
|
||||
}
|
||||
|
||||
|
@ -2730,7 +2730,9 @@ function _remove_theme_support( $feature ) {
|
||||
break;
|
||||
}
|
||||
$support = get_theme_support( 'custom-background' );
|
||||
remove_action( 'wp_head', $support[0]['wp-head-callback'] );
|
||||
if ( isset( $support[0]['wp-head-callback'] ) ) {
|
||||
remove_action( 'wp_head', $support[0]['wp-head-callback'] );
|
||||
}
|
||||
remove_action( 'admin_menu', array( $GLOBALS['custom_background'], 'init' ) );
|
||||
unset( $GLOBALS['custom_background'] );
|
||||
break;
|
||||
|
@ -203,6 +203,38 @@ class Tests_Post_GetBodyClass extends WP_UnitTestCase {
|
||||
$this->assertContains( 'attachment-jpeg', $class );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 38168
|
||||
*/
|
||||
public function test_custom_background_class_is_added_when_theme_supports_it() {
|
||||
add_theme_support( 'custom-background', array( 'default-color', '#ffffff' ) );
|
||||
set_theme_mod( 'background_color', '#000000' );
|
||||
|
||||
$class = get_body_class();
|
||||
$current_theme_supports_custom_background = current_theme_supports( 'custom-background' );
|
||||
|
||||
remove_theme_mod( 'background_color' );
|
||||
remove_theme_support( 'custom-background' );
|
||||
|
||||
$this->assertTrue( $current_theme_supports_custom_background );
|
||||
$this->assertContains( 'custom-background', $class );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 38168
|
||||
*/
|
||||
public function test_custom_background_class_is_not_added_when_theme_support_is_missing() {
|
||||
set_theme_mod( 'background_color', '#000000' );
|
||||
|
||||
$class = get_body_class();
|
||||
$current_theme_supports_custom_background = current_theme_supports( 'custom-background' );
|
||||
|
||||
remove_theme_mod( 'background_color' );
|
||||
|
||||
$this->assertFalse( $current_theme_supports_custom_background );
|
||||
$this->assertNotContains( 'custom-background', $class );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 44005
|
||||
* @group privacy
|
||||
|
Loading…
Reference in New Issue
Block a user