has_image_size()
云策文档标注
概述
has_image_size() 函数用于检查 WordPress 中是否已注册指定的图像尺寸。它仅适用于通过 add_image_size() 注册的额外图像尺寸,不适用于核心图像尺寸。
关键要点
- 函数接受一个字符串参数 $name,表示要检查的图像尺寸名称。
- 返回布尔值:如果图像尺寸存在则返回 true,否则返回 false。
- 仅检查通过 add_image_size() 注册的额外图像尺寸,不包括核心尺寸(如 small、medium、medium_large、large)。
- 内部实现基于 wp_get_additional_image_sizes() 函数来获取额外图像尺寸数组。
代码示例
add_action('after_setup_theme', 'remove_registered_image_size');
function remove_registered_image_size() {
if ( has_image_size( 'image-name' ) ) {
remove_image_size( 'image-name' );
}
}注意事项
- 使用 has_image_size() 检查核心图像尺寸将始终返回 false,因为它不处理这些尺寸。
- 函数自 WordPress 3.9.0 版本引入。
原文内容
Checks if an image size exists.
Parameters
$namestringrequired-
The image size to check.
Source
function has_image_size( $name ) {
$sizes = wp_get_additional_image_sizes();
return isset( $sizes[ $name ] );
}
Changelog
| Version | Description |
|---|---|
| 3.9.0 | Introduced. |
Skip to note 3 content
leemon
This function only checks for image sizes that are registered via the
add_image_size()function, core image sizes, namely small, medium, medium_large and large, are not considered. Hence, checking for a core image size usinghas_image_size()will always return FALSE.Skip to note 4 content
Codex
In a theme’s functions.php file combined with
remove_image_size():add_action('after_setup_theme', 'remove_registered_image_size'); function remove_registered_image_size() { if ( has_image_size( 'image-name' ) ) { remove_image_size( 'image-name' ); } }