wp_get_image_editor()WP 3.5.0

Returns a WP_Image_Editor instance and loads file into it.

Hooks from the function

Return

WP_Image_Editor|WP_Error. The WP_Image_Editor object on success, a WP_Error object otherwise.

Usage

wp_get_image_editor( $path, $args );
$path(string) (required)
Path to the file to load.
$args(array)
Additional arguments for retrieving the image editor.
Default: empty array

Examples

0

#1 Create a thumbnail of the image

Suppose we have an image /wp-content/uploads/2014/02/uka.png (lying on our server). This example shows how to create a thumbnail of this image with the class WP_Image_Editor`:

// load the object
$image = wp_get_image_editor( $_SERVER['DOCUMENT_ROOT'].'/wp-content/uploads/2014/02/uka.png' );
// you can specify a URL instead of an absolute path:
// $image = wp_get_image_editor( 'http://wp-kama.ru/wp-content/uploads/2014/02/uka.png' );

// process the picture
if ( ! is_wp_error( $image ) ) {

	// rotate the picture 90 degrees
	$image->rotate( 90 );
	// reduce it to size 80x80
	$image->resize( 80, 80, true );
	// save it in the root of the site as new_image.png
	$image->save( $_SERVER['DOCUMENT_ROOT'].'/new_image.png' );
}

Changelog

Since 3.5.0 Introduced.

wp_get_image_editor() code WP 6.4.3

function wp_get_image_editor( $path, $args = array() ) {
	$args['path'] = $path;

	// If the mime type is not set in args, try to extract and set it from the file.
	if ( ! isset( $args['mime_type'] ) ) {
		$file_info = wp_check_filetype( $args['path'] );

		/*
		 * If $file_info['type'] is false, then we let the editor attempt to
		 * figure out the file type, rather than forcing a failure based on extension.
		 */
		if ( isset( $file_info ) && $file_info['type'] ) {
			$args['mime_type'] = $file_info['type'];
		}
	}

	// Check and set the output mime type mapped to the input type.
	if ( isset( $args['mime_type'] ) ) {
		/** This filter is documented in wp-includes/class-wp-image-editor.php */
		$output_format = apply_filters( 'image_editor_output_format', array(), $path, $args['mime_type'] );
		if ( isset( $output_format[ $args['mime_type'] ] ) ) {
			$args['output_mime_type'] = $output_format[ $args['mime_type'] ];
		}
	}

	$implementation = _wp_image_editor_choose( $args );

	if ( $implementation ) {
		$editor = new $implementation( $path );
		$loaded = $editor->load();

		if ( is_wp_error( $loaded ) ) {
			return $loaded;
		}

		return $editor;
	}

	return new WP_Error( 'image_no_editor', __( 'No editor could be selected.' ) );
}