_custom_background_cb
Default custom background callback.
Description
_custom_background_cb();
Usage
if ( !function_exists( '_custom_background_cb' ) ) { require_once ABSPATH . WPINC . '/theme.php'; } // NOTICE! Understand what this does before running. $result = _custom_background_cb();
Defined (1)
The function is defined in the following location(s).
- /wp-includes/theme.php
- function _custom_background_cb() {
- // $background is the saved custom image, or the default image.
- $background = set_url_scheme( get_background_image() );
- // $color is the saved custom color.
- // A default has to be specified in style.css. It will not be printed here.
- $color = get_background_color();
- if ( $color === get_theme_support( 'custom-background', 'default-color' ) ) {
- $color = false;
- }
- if ( ! $background && ! $color ) {
- if ( is_customize_preview() ) {
- echo '<style type="text/css" id="custom-background-css"></style>';
- }
- return;
- }
- $style = $color ? "background-color: #$color;" : '';
- if ( $background ) {
- $image = ' background-image: url("' . esc_url_raw( $background ) . '");';
- // Background Position.
- $position_x = get_theme_mod( 'background_position_x', get_theme_support( 'custom-background', 'default-position-x' ) );
- $position_y = get_theme_mod( 'background_position_y', get_theme_support( 'custom-background', 'default-position-y' ) );
- if ( ! in_array( $position_x, array( 'left', 'center', 'right' ), true ) ) {
- $position_x = 'left';
- }
- if ( ! in_array( $position_y, array( 'top', 'center', 'bottom' ), true ) ) {
- $position_y = 'top';
- }
- $position = " background-position: $position_x $position_y;";
- // Background Size.
- $size = get_theme_mod( 'background_size', get_theme_support( 'custom-background', 'default-size' ) );
- if ( ! in_array( $size, array( 'auto', 'contain', 'cover' ), true ) ) {
- $size = 'auto';
- }
- $size = " background-size: $size;";
- // Background Repeat.
- $repeat = get_theme_mod( 'background_repeat', get_theme_support( 'custom-background', 'default-repeat' ) );
- if ( ! in_array( $repeat, array( 'repeat-x', 'repeat-y', 'repeat', 'no-repeat' ), true ) ) {
- $repeat = 'repeat';
- }
- $repeat = " background-repeat: $repeat;";
- // Background Scroll.
- $attachment = get_theme_mod( 'background_attachment', get_theme_support( 'custom-background', 'default-attachment' ) );
- if ( 'fixed' !== $attachment ) {
- $attachment = 'scroll';
- }
- $attachment = " background-attachment: $attachment;";
- $style .= $image . $position . $size . $repeat . $attachment;
- }
- ?>
- <style type="text/css" id="custom-background-css">
- body.custom-background { <?php echo trim( $style ); ?> }
- </style>
- <?php