get_header_image_tag() │ WP 4.4.0
Створює IMG тег з картинкою заголовка, встановленої в налаштуваннях теми (кастомайзер).
Повертає
Строку
. HTML тег <img> або порожній рядок, якщо для заголовка не встановлено зображення.
Використання
$img = get_header_image_tag($attr);
-
$attr
(масив) Додаткові атрибути для тега IMG. Можна використовувати, щоб переписати атрибути за промовчанням.
За замовчуванням вказуються такі атрибути:
array(
'src' => $header->url,
'width' => $width,
'height' => $height,
'alt' => get_bloginfo( 'name' ),
'srcset' => '', // генерується якщо атрибут порожній
)
За замовчуванням: array()
Приклади
#1 Приклад виведення тега картинки заголовка
$img = get_header_image_tag();
echo $img;
Виведе:
<img src="http://example.com/wp-content/uploads/2016/05/cropped.jpg" width="954" height="1300" alt="Тестовий сайт"
srcset="http://example.com/wp-content/uploads/2016/05/cropped.jpg 954w, http://example.com/wp-content/uploads/2016/05/cropped-220x300.jpg 220w , http://example.com/wp-content/uploads/2016/05/cropped-768x1047.jpg 768w, http://example.com/wp-content/uploads/2016/05/cropped-751x1024.jpg 751w "
sizes="(max-width: 954px) 100vw, 954px"
/>
Наприклад, давайте вкажемо свій alt і заборонимо створювати атрибут srcset і в місці з ним sizes
$img = get_header_image_tag( array(
'srcset' => 'none',
'alt' => 'картинка заголовка',
)));
echo $img;
Отримаємо:
<img src="http://example.com/wp-content/uploads/2016/05/cropped.jpg" width="954" height="1300" alt="картинка заголовка" srcset="none" />
список змін
Код get_header_image_tag() get header image tag WP 6.0.2
function get_header_image_tag( $attr = array() ) {
$header = get_custom_header();
$header->url = get_header_image();
if ( ! $header->url ) {
return '';
}
$ width = absint ($ header-> width);
$ Height = absint ($ Header-> Height);
$ alt = '';
// Використання альтернативного тексту визначено для зображення, якщо є можливим. Іншівипадки, покладені на нього empty.
if ( ! empty( $header->attachment_id ) ) {
$image_alt = get_post_meta( $header->attachment_id, '_wp_attachment_image_alt', true);
if ( is_string( $image_alt ) ) {
$alt = $image_alt;
}
}
$attr = wp_parse_args(
$attr,
array(
'src' => $header->url,
'width' => $width,
'height' => $height,
'alt' => $alt,
)
);
// Generate 'srcset' and 'sizes' if not already present.
if ( empty( $attr['srcset'] ) && ! empty( $header->attachment_id ) ) {
$image_meta = get_post_meta( $header->attachment_id, '_wp_attachment_metadata', true);
$ size_array = array ($ width, $ height);
if ( is_array( $image_meta ) ) {
$srcset = wp_calculate_image_srcset( $size_array, $header->url, $image_meta, $header->attachment_id );
if ( ! empty( $attr['sizes'] ) ) {
$sizes = $attr['sizes'];
} else {
$sizes = wp_calculate_image_sizes( $size_array, $header->url, $image_meta, $header->attachment_id );
}
if ( $srcset && $sizes ) {
$attr['srcset'] = $srcset;
$attr['sizes'] = $sizes;
}
}
}
/**
* Filters List of header image attributes.
*
* @ Since 5.9.0
*
* @param array $attr Array of the atributes for the image tag.
* @param object $header Custom header object returned by 'get_custom_header()'.
*/
$attr = apply_filters( 'get_header_image_tag_attributes', $attr, $header);
$ attr = array_map ( 'esc_attr', $ attr);
$html = '<img';
foreach ( $attr as $name => $value ) {
$html.='''. $name. '="' . $value . '"';
}
$html. = '/>';
/**
* Filters the markup of header images.
*
* @ Since 4.4.0
*
* @param string $html HTML image tag markup being filtered.
* @param object $header Custom header object returned by 'get_custom_header()'.
* @param array $attr Array of the atributes for the image tag.
*/
return apply_filters( 'get_header_image_tag', $html, $header, $attr);
}
Зв’язані функції