WordPress
автоматически добавляет srcset
а также sizes
атрибуты ко всем изображениям из сообщений. Это очень аккуратно.
Но как мне заставить WordPress добавить эти атрибуты к изображениям, которые поступают из ввода настройщика?
В моем случае: изображение по умолчанию для сообщений. Это изображение по умолчанию отображается, когда в сообщении не было загружено ни одного изображения. Он загружается пользователем через настройщик и вызывается с помощью get_theme_mod
,
изображение из поста (работает отлично, все атрибуты добавлены):
get_the_post_thumbnail($post->ID, 'news', array('class' => 'img-responsive'));
если изображение не указано: загружается изображение по умолчанию (нет «scrset» и «размеры»)
'<img src="' . esc_url( get_theme_mod( 'default_image' ) ) . '" alt="default image" class="img-responsive" />'
wp_image_add_srcset_and_sizes()
кажется, что это путь, но он требует атрибутов, которые я не знаю, где взять.
Спасибо за помощь!
эта функция делает свое дело:
function create_responsive_image( $img ) {
$img_id = attachment_url_to_postid( $img );
$img_srcset = wp_get_attachment_image_srcset( $img_id );
$img_sizes = wp_get_attachment_image_sizes( $img_id );
return '<img src="' . $img . '" srcset="' . esc_attr( $img_srcset ) . '" sizes="' . esc_attr( $img_sizes ) . '">';
}
Других решений пока нет …