get_uploaded_header_images()
云策文档标注
概述
get_uploaded_header_images() 函数用于获取当前活动主题已上传的头部图像。它返回一个包含图像详细信息的数组,如附件ID、URL、尺寸等。
关键要点
- 函数返回一个数组,每个元素对应一个头部图像,包含 attachment_id、url、thumbnail_url、alt_text 等键值。
- 内部使用 get_posts() 查询附件类型为 'attachment' 且元数据 _wp_attachment_is_custom_header 匹配当前主题样式的帖子。
- 通过 wp_get_attachment_url() 和 wp_get_attachment_metadata() 获取图像的URL和元数据。
- 如果查询结果为空,函数返回空数组。
代码示例
$header_images = get_uploaded_header_images();
if ( ! empty( $header_images ) ) {
foreach ( $header_images as $image ) {
echo 'ID: ' . $image['attachment_id'] . ', URL: ' . $image['url'];
}
}
原文内容
Gets the header images uploaded for the active theme.
Source
function get_uploaded_header_images() {
$header_images = array();
$headers = get_posts(
array(
'post_type' => 'attachment',
'meta_key' => '_wp_attachment_is_custom_header',
'meta_value' => get_option( 'stylesheet' ),
'orderby' => 'none',
'nopaging' => true,
)
);
if ( empty( $headers ) ) {
return array();
}
foreach ( (array) $headers as $header ) {
$url = sanitize_url( wp_get_attachment_url( $header->ID ) );
$header_data = wp_get_attachment_metadata( $header->ID );
$header_index = $header->ID;
$header_images[ $header_index ] = array();
$header_images[ $header_index ]['attachment_id'] = $header->ID;
$header_images[ $header_index ]['url'] = $url;
$header_images[ $header_index ]['thumbnail_url'] = $url;
$header_images[ $header_index ]['alt_text'] = get_post_meta( $header->ID, '_wp_attachment_image_alt', true );
if ( isset( $header_data['attachment_parent'] ) ) {
$header_images[ $header_index ]['attachment_parent'] = $header_data['attachment_parent'];
} else {
$header_images[ $header_index ]['attachment_parent'] = '';
}
if ( isset( $header_data['width'] ) ) {
$header_images[ $header_index ]['width'] = $header_data['width'];
}
if ( isset( $header_data['height'] ) ) {
$header_images[ $header_index ]['height'] = $header_data['height'];
}
}
return $header_images;
}
Changelog
| Version | Description |
|---|---|
| 3.2.0 | Introduced. |