Parsed: 126634

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 ( get_theme_support( 'custom-background', 'default-color' ) === $color ) {
    $color = false;
  }

  $type_attr = current_theme_supports( 'html5', 'style' ) ? '' : ' type="text/css"';

  if ( ! $background && ! $color ) {
    if ( is_customize_preview() ) {
      printf( '<style%s id="custom-background-css"></style>', $type_attr );
    }
    return;
  }

  $style = $color ? "background-color: #$color;" : '';

  if ( $background ) {
    $image = ' background-image: url("' . sanitize_url( $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<?php echo $type_attr; ?> id="custom-background-css">
body.custom-background { <?php echo trim( $style ); ?> }
</style>
	<?php
}