从图像的维度获取图像的大小名称

时间:2016-10-21 作者:Johansson

正如我们所知,图像的大小有不同的名称,我们可以使用这些名称来命名适当的图像大小。例如“缩略图”、“大”、“中”或自定义“我的缩略图”大小。我可以the_post_thumbnail_url( \'medium\' ) 获得中等尺寸及其尺寸。

但是,我需要从图像大小中获取名称。准确地说,如果图像大小为300x200,名称为“小”,我想通过在函数中输入300和200来获得“小”。

有谁能帮我做到这一点吗?谢谢

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

这里我为您编写了一个函数。将以下功能放置在functions.php 或执行并将宽度和高度值传递给它的任何位置。它将返回图像大小名称string 如果没有找到,它就会返回false.

/**
 * Get name by size information for image.
 *
 * @global $_wp_additional_image_sizes
 * @uses   get_intermediate_image_sizes()
 * @return string $_sizes bool Data for passed measurements image.
 */
function wpse_243461_get_image_size_name( $w = 150, $h = 150 ) {
    global $_wp_additional_image_sizes;

    $sizes = array();
    foreach ( get_intermediate_image_sizes() as $_size ) {
        if ( in_array( $_size, array(\'thumbnail\', \'medium\', \'medium_large\', \'large\') ) ) {
            if ( $w == get_option( "{$_size}_size_w" ) && $h == get_option( "{$_size}_size_h" ))
                return $_size;
        } elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) {
            if ( $w == $_wp_additional_image_sizes[ $_size ][\'width\'] && $h == $_wp_additional_image_sizes[ $_size ][\'height\'] )
                return $_size;
        }
    }

    return false;
}
默认情况下,宽度为150,高度为150,传递方式如下$w = 150, $h = 150. 你必须像这样使用它the_dramatist_get_image_size_name(300, 300). 请记住$w$h 采用整数值。