wp_get_image_editor( string $path, array $args = array() ): WP_Image_Editor|WP_Error

Returns a WP_Image_Editor instance and loads file into it.

Parameters

$pathstringrequired
Path to the file to load.
$argsarrayoptional
Additional arguments for retrieving the image editor.

Default:array()

Return

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

Source

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.' ) );
}

Hooks

apply_filters( ‘image_editor_output_format’, string[] $output_format, string $filename, string $mime_type )

Filters the image editor output format mapping.

Changelog

VersionDescription
3.5.0Introduced.

User Contributed Notes

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