WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Самая быстрая Тема-конструктор для WordPress
функция не описана

image_constrain_size_for_editor() WP 2.5.0

Scale down the default size of an image.

This is so that the image is a better fit for the editor and theme.

The $size parameter accepts either an array or a string. The supported string values are 'thumb' or 'thumbnail' for the given thumbnail size or defaults at
128 width and 96 height in pixels. Also supported for the string value is 'medium', 'medium_large' and 'full'. The 'full' isn't actually supported, but any value other than the supported will result in the content_width size or 500 if that is not set.

Finally, there is a filter named 'editor_max_image_size', that will be called on the calculated array for width and height, respectively.

Хуки из функции
Возвращает

Число[]. An array of width and height values.

  • 0(число)
    The maximum width in pixels.

  • 1(число)
    The maximum height in pixels.

Использование

image_constrain_size_for_editor( $width, $height, $size, $context );
$width(число) (обязательный)
Width of the image in pixels.
$height(число) (обязательный)
Height of the image in pixels.
$size(строка/массив)
Image size. Accepts any valid image size, or an array of width and height values in pixels (in that order).
По умолчанию: 'medium'
$context(строка)
Could be 'display' (like in a theme) or 'edit' (like inserting into an editor).
По умолчанию: null

Заметки

  • Global. Число. $content_width

Список изменений

С версии 2.5.0 Введена.

Код image_constrain_size_for_editor() WP 5.5.2

<?php
function image_constrain_size_for_editor( $width, $height, $size = 'medium', $context = null ) {
	global $content_width;

	$_wp_additional_image_sizes = wp_get_additional_image_sizes();

	if ( ! $context ) {
		$context = is_admin() ? 'edit' : 'display';
	}

	if ( is_array( $size ) ) {
		$max_width  = $size[0];
		$max_height = $size[1];
	} elseif ( 'thumb' === $size || 'thumbnail' === $size ) {
		$max_width  = intval( get_option( 'thumbnail_size_w' ) );
		$max_height = intval( get_option( 'thumbnail_size_h' ) );
		// Last chance thumbnail size defaults.
		if ( ! $max_width && ! $max_height ) {
			$max_width  = 128;
			$max_height = 96;
		}
	} elseif ( 'medium' === $size ) {
		$max_width  = intval( get_option( 'medium_size_w' ) );
		$max_height = intval( get_option( 'medium_size_h' ) );

	} elseif ( 'medium_large' === $size ) {
		$max_width  = intval( get_option( 'medium_large_size_w' ) );
		$max_height = intval( get_option( 'medium_large_size_h' ) );

		if ( intval( $content_width ) > 0 ) {
			$max_width = min( intval( $content_width ), $max_width );
		}
	} elseif ( 'large' === $size ) {
		/*
		 * We're inserting a large size image into the editor. If it's a really
		 * big image we'll scale it down to fit reasonably within the editor
		 * itself, and within the theme's content width if it's known. The user
		 * can resize it in the editor if they wish.
		 */
		$max_width  = intval( get_option( 'large_size_w' ) );
		$max_height = intval( get_option( 'large_size_h' ) );

		if ( intval( $content_width ) > 0 ) {
			$max_width = min( intval( $content_width ), $max_width );
		}
	} elseif ( ! empty( $_wp_additional_image_sizes ) && in_array( $size, array_keys( $_wp_additional_image_sizes ), true ) ) {
		$max_width  = intval( $_wp_additional_image_sizes[ $size ]['width'] );
		$max_height = intval( $_wp_additional_image_sizes[ $size ]['height'] );
		// Only in admin. Assume that theme authors know what they're doing.
		if ( intval( $content_width ) > 0 && 'edit' === $context ) {
			$max_width = min( intval( $content_width ), $max_width );
		}
	} else { // $size === 'full' has no constraint.
		$max_width  = $width;
		$max_height = $height;
	}

	/**
	 * Filters the maximum image size dimensions for the editor.
	 *
	 * @since 2.5.0
	 *
	 * @param int[]        $max_image_size {
	 *     An array of width and height values.
	 *
	 *     @type int $0 The maximum width in pixels.
	 *     @type int $1 The maximum height in pixels.
	 * }
	 * @param string|array $size           Size of what the result image should be.
	 * @param string       $context        The context the image is being resized for.
	 *                                     Possible values are 'display' (like in a theme)
	 *                                     or 'edit' (like inserting into an editor).
	 */
	list( $max_width, $max_height ) = apply_filters( 'editor_max_image_size', array( $max_width, $max_height ), $size, $context );

	return wp_constrain_dimensions( $width, $height, $max_width, $max_height );
}