Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




image_constrain_size_for_editor [ WordPress Function ]

image_constrain_size_for_editor ( $width, $height, $size = 'medium' )
Parameters:
  • (int) $width Width of the image
  • (int) $height Height of the image
  • (string|array) $size Size of what the result image should be.
Uses:
Returns:
  • (array) Width and height of what the result image should resize to.
Defined at:



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' 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. The second parameter will be the value that was in the $size parameter. The returned type for the hook is an array with the width as the first element and the height as the second element.

Source


<?php
function image_constrain_size_for_editor($width$height$size 'medium') {
    global 
$content_width$_wp_additional_image_sizes;

    if ( 
is_array($size) ) {
        
$max_width $size[0];
        
$max_height $size[1];
    }
    elseif ( 
$size == 'thumb' || $size == 'thumbnail' ) {
        
$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 ( 
$size == 'medium' ) {
        
$max_width intval(get_option('medium_size_w'));
        
$max_height intval(get_option('medium_size_h'));
        
// if no width is set, default to the theme content width if available
    
}
    elseif ( 
$size == 'large' ) {
        
// 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) > )
            
$max_width minintval($content_width), $max_width );
    } elseif ( isset( 
$_wp_additional_image_sizes ) && count$_wp_additional_image_sizes ) && in_array$sizearray_keys$_wp_additional_image_sizes ) ) ) {
        
$max_width intval$_wp_additional_image_sizes[$size]['width'] );
        
$max_height intval$_wp_additional_image_sizes[$size]['height'] );
        if ( 
intval($content_width) > && is_admin() ) // Only in admin. Assume that theme authors know what they're doing.
            
$max_width minintval($content_width), $max_width );
    }
    
// $size == 'full' has no constraint
    
else {
        
$max_width $width;
        
$max_height $height;
    }

    list( 
$max_width$max_height ) = apply_filters'editor_max_image_size', array( $max_width$max_height ), $size );

    return 
wp_constrain_dimensions$width$height$max_width$max_height );
}
?>

Examples [ wp-snippets.com ]

Top Google zoekresultaten

Meer ...

Gebruikersdiscussies [ wordpress.org ]

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics