如何转换GET_MEDIAL_IMAGE_SIZES?

时间:2014-07-18 作者:Ksenia

我使用以下代码获取图像大小:

public function getImageSizes(){
        global $_wp_additional_image_sizes;
        $sizes = array();
        foreach(get_intermediate_image_sizes() as $s){
            $sizes[$s] = array(0, 0);
            if( in_array( $s, array( \'thumbnail\', \'medium\', \'large\' ) ) ){
                $sizes[$s][0] = get_option( $s . \'_size_w\' );
                $sizes[$s][1] = get_option( $s . \'_size_h\' );
            } else {
                if ( isset( $_wp_additional_image_sizes ) && isset( $_wp_additional_image_sizes[ $s ] ) )
                    $sizes[$s] = array( $_wp_additional_image_sizes[$s][\'width\'], $_wp_additional_image_sizes[$s][\'height\'] );
            }
        }
        return $sizes;
    }
结果是选择图像大小,如下所示:

<option value="thumbnail">Thumbnail</option>
<option value="medium">Medium</option>
<option value="large">Large</option>
<option value="tribe_image_widget_custom" selected=\'selected\'>Custom</option>
问题是如何翻译大小(缩略图、中号、大号和自定义)?默认情况下,大小是英文的,我需要它们是另一种语言(我使用代码样式本地化插件)。

非常感谢。

P、 S.:要选择,我使用以下代码:

<select class="widefat" id="<?php echo $this->get_field_id(\'size\'); ?>" name="<?php echo $this->get_field_name(\'size\'); ?>">
    <?php foreach ($this->getImageSizes() as $name => $atts): ?>
        <option value="<?php echo $name ?>"<?php echo ($name==$size?\' selected\':\'\') ?>><?php echo ucwords($name) . \' (\'. implode( \'x\', $atts ). \')\' ?></option>
    <?php endforeach ?>
</select>

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

您可以使用__(), _e(), _x() or _ex() 和textdomain,使主题或插件可翻译。

我将您的代码片段剥离到了最基本的部分,这样您就可以更容易地理解这个想法:

<select class="widefat">
  <?php foreach ( $this->getImageSizes() as $name => $atts ) : ?>
    <option value="<?php echo $name; ?>" ?>>
      <?php echo ucwords( __( $name, \'textdomain\' ) ); ?>
    </option>
  <?php endforeach; ?>
</select>
不幸的是,对于以下变量,国际化是不可能的$name 因此,您必须提供默认的图像大小名称,以便访问它们:

$sizes = array(
  __( \'thumbnail\', \'textdomain\' ),
  __( \'medium\', \'textdomain\' ),
  __( \'large\', \'textdomain\' )
);
如果您自己添加图像大小,如果这样添加,可以避免上述问题:

add_image_size( __( \'custom-image-size\', \'textdomain\' ), $width, $height, $crop );

结束

相关推荐

Featured Images for Tags?

是否可以以某种方式为标记或自定义分类创建特征图像。为了便于解释,我将给出一个可能的功能示例。假设我正在运行一个网站,发布城市中最好的餐厅。我的一些标签可能是伦敦、巴黎、纽约等等。。。我有一个页面可以抓取这些标签并按字母顺序排序。但不仅仅是文本,它还将有标签名(例如伦敦)和该城市的图像。我知道这可以手动完成,但通过将图像附加到标记或自定义分类法,可以使过程变得更简单,尤其是在处理大量标记/自定义分类法时。我认为这可能更像是一个抽象的问题,但我很好奇是否有人遇到过任何成功做到这一点的博客或网站。