Custom_Background::wp_set_background_image()

In this article

This method has been deprecated.

Source

public function wp_set_background_image() {
	check_ajax_referer( 'custom-background' );

	if ( ! current_user_can( 'edit_theme_options' ) || ! isset( $_POST['attachment_id'] ) ) {
		exit;
	}

	$attachment_id = absint( $_POST['attachment_id'] );

	$sizes = array_keys(
		/** This filter is documented in wp-admin/includes/media.php */
		apply_filters(
			'image_size_names_choose',
			array(
				'thumbnail' => __( 'Thumbnail' ),
				'medium'    => __( 'Medium' ),
				'large'     => __( 'Large' ),
				'full'      => __( 'Full Size' ),
			)
		)
	);

	$size = 'thumbnail';
	if ( in_array( $_POST['size'], $sizes, true ) ) {
		$size = esc_attr( $_POST['size'] );
	}

	update_post_meta( $attachment_id, '_wp_attachment_is_custom_background', get_option( 'stylesheet' ) );

	$url       = wp_get_attachment_image_src( $attachment_id, $size );
	$thumbnail = wp_get_attachment_image_src( $attachment_id, 'thumbnail' );
	set_theme_mod( 'background_image', sanitize_url( $url[0] ) );
	set_theme_mod( 'background_image_thumb', sanitize_url( $thumbnail[0] ) );
	exit;
}

Hooks

apply_filters( ‘image_size_names_choose’, string[] $size_names )

Filters the names and labels of the default image sizes.

Changelog

VersionDescription
3.5.0This method has been deprecated.
3.4.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.