我怎样才能得到缩略图的定制尺寸?

时间:2015-08-01 作者:soupmagnet

假设我有一个自定义缩略图大小,定义如下。。。

add_image_size( $name, $dim_x, $dim_y, true );
。。。如何仅使用$name以编程方式获取定义的图像尺寸?

2 个回复
最合适的回答,由SO网友:Rarst 整理而成

如果您看一下函数的源代码,它只是将参数存储在$_wp_additional_image_sizes 全局,按名称键。

据我所知,它没有专用的API函数(get_intermediate_image_sizes() 将返回名称列表,但不返回数据)。只需访问全局并按键查找所需的数据。

SO网友:soupmagnet

多亏了Rarst给出的答案,我才能够找到this 在Wordpress文档中。。。

function get_image_sizes( $name ) {
    global $_wp_additional_image_sizes;
    $sizes = array();
    $get_intermediate_image_sizes = get_intermediate_image_sizes();
    // Create the full array with sizes and crop info
    foreach( $get_intermediate_image_sizes as $_size ) {
            if ( in_array( $_size, array( \'thumbnail\', \'medium\', \'large\' ) ) ) {
                    $sizes[ $_size ][\'width\'] = get_option( $_size . \'_size_w\' );
                    $sizes[ $_size ][\'height\'] = get_option( $_size . \'_size_h\' );
                    $sizes[ $_size ][\'crop\'] = (bool) get_option( $_size . \'_crop\' );
            } elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) {
                    $sizes[ $_size ] = array( 
                            \'width\' => $_wp_additional_image_sizes[ $_size ][\'width\'],
                            \'height\' => $_wp_additional_image_sizes[ $_size ][\'height\'],
                            \'crop\' =>  $_wp_additional_image_sizes[ $_size ][\'crop\']
                    );
            }
    }
    // Get only 1 size if found
    if ( $size ) {
            if( isset( $sizes[ $size ] ) ) {
                    return $sizes[ $size ];
            } else {
                    return false;
            }
    }
    return $sizes;
}
<小时>
<?php 
    var_dump(get_image_sizes(\'custom-size\'));
?>
<小时>
array(3) {
    ["width"] => int(250)
    ["height"] => int(250)
    ["crop"] =>  bool(true)
}

结束

相关推荐

Featured images get shrunken

上传特色图片时,我遇到的问题是,所有图片都会自动缩小。我想保留原始图像。检查this example. 所有员工的图片都会自动缩小,但在特色图片中,我上传了员工的完整图片。我认为图像太大,wordpress会自动缩小图像,因此,我在媒体库中缩放并裁剪了图像。一些图像已修复,但一些图像仍然存在问题。有没有一种方法可以让原始上传的图像按原样显示?