Register a new image size.

Cropping behavior for the image size is dependent on the value of $crop: 1. If false (default), images will be scaled, not cropped. 2. If an array in the form of array( x_crop_position, y_crop_position ):
*- x_crop_position accepts ‘left’ ‘center’, or ‘right’.
*- y_crop_position accepts ‘top’, ‘center’, or ‘bottom’. Images will be cropped to the specified dimensions within the defined crop area. 3. If true, images will be cropped to the specified dimensions using center positions.


add_image_size( $name, $width = 0, $height = 0, $crop = false )
 (string) Image size identifier.
 (int) Image width in pixels.
Default: 0
 (int) Image height in pixels.
Default: 0
 (boolean|array) Optional. Whether to crop images to specified height and width or resize. An array can specify positioning of the crop area. Default false.
Default: false


(boolean|array) False, if no image was created. Metadata array on success.


function add_image_size( $name, $width = 0, $height = 0, $crop = false ) {
	global $_wp_additional_image_sizes;

	$_wp_additional_image_sizes[ $name ] = array(
		'width'  => absint( $width ),
		'height' => absint( $height ),
		'crop'   => $crop,
WP Trac GitHub

Link here