GET_MEDERIAL_IMAGE_SIZES获取大小名称,但如何获取大小?

时间:2011-05-02 作者:Andrew Benbow

我正在设置一个小部件,允许将图像添加到侧栏/小部件区域。

基本上,我有一个下拉列表,允许用户在主题的functions.php 文件使用add_image_size().

除了明显的(重命名所有add_image_size() ) 有没有办法获得尺寸以便我可以显示该尺寸以及名称?

这是我当前的下拉代码:

<?php       
    $sizes = get_intermediate_image_sizes();
    $available_size  = \'<select name="\' . $this->get_field_name(\'image\') . \'" >\' . "\\r\\n";
    $available_size .= \'<option value="0" selected="selected">Choose</option>\' . "\\r\\n";
    foreach ( $sizes as $size ) {
        if ( $instance[\'size\'] == $size ) :
            $available_size .= \'<option value="\' . $size . \'" selected="selected">\' . $size . \'</option>\' . "\\r\\n";
        else :
            $available_size .= \'<option value="\' . $size . \'">\' . $size . \'</option>\' . "\\r\\n";         
        endif;
    }

    $available_size .= \'</select>\' . "\\r\\n";

    echo $available_size;
    ?>

2 个回复
最合适的回答,由SO网友:Marcin 整理而成
<?php
global $_wp_additional_image_sizes;
print \'<pre>\';
print_r( $_wp_additional_image_sizes );
print \'</pre>\';
SO网友:Mohammad Ayoub Khan

Get all possible registered image size with their names

$wp_additional_image_sizes = wp_get_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\']
    );
  }
}
foreach ($sizes as $key => $image_size) {
  echo  "<li> ⚡ {$key} ☛ ({$image_size[\'width\']} x {$image_size[\'height\']}) {$image_size[\'crop\']} </li>";
}
结束

相关推荐

Resizing all images

我刚刚更改了博客的主题,由于页面宽度很小,它打破了布局。我之前的大多数图片(附在帖子中)的宽度都在600px左右,现在我需要按450px的比例调整它们的大小。如何一次性调整它们的大小?有这个插件吗?P、 美国:编写CSS规则是一个很好的选择,我已经做到了。但我认为调整图像大小也会减少每个页面的下载开销!