我知道这很常见,但我没有找到正确的答案。为了显示我所做的所有可能的图像大小:
add_filter( \'image_size_names_choose\', \'fashmag_image_sizes_choose\' );
function fashmag_image_sizes_choose( $sizes ) {
$image_sizes = get_intermediate_image_sizes();
return $image_sizes;
}
这完美地显示了所有图像大小,但这将使选项值不是name。因此生成的HTML输出
<select class="size" name="size" data-setting="size">
<option value="0">thumbnail</option>
<option value="1">medium</option>
<option value="2">medium_large</option>
</select>
在我的图库中使用快捷码,而不是放置
thumbnail
它把
0
[gallery link="file" size="0" ids="124,125,108,103"]
如何更正此问题,即
thumbnail
而不是
0
?
SO网友:Johansson
您尝试使用的过滤器应返回嵌套数组,而不是单个数组。在您的情况下:
add_filter( \'image_size_names_choose\', \'fashmag_image_sizes_choose\' );
function fashmag_image_sizes_choose( $sizes ) {
// Get a list of custom image sizes
$image_sizes = get_intermediate_image_sizes();
// Create an array of them, in the array( \'slug\', \'name\' ) format
foreach( $image_sizes as $size ){
$custom_size[][0] = $size[0];
$custom_size[][1] = $size[0];
}
// Merge the custom array with the original array
return array_merge( $sizes, $custom_size );
}
看看
this 有关此筛选器工作方式的详细信息,请参阅文档页。