WordPress пост, показывающий следующий результат для изображения.
<img class="large alignnone size-full wp-image-8" src="http://localhost/blog/wp-content/uploads/2017/04/t-radio-city-music-hall.jpg" alt="" width="960" height="654" srcset="http://localhost/blog/wp-content/uploads/2017/04/t-radio-city-music-hall.jpg 960w, http://localhost/blog/wp-content/uploads/2017/04/t-radio-city-music-hall-300x204.jpg 300w, http://localhost/blog/wp-content/uploads/2017/04/t-radio-city-music-hall-768x523.jpg 768w" sizes="(max-width: 960px) 100vw, 960px">
Как я могу изменить эти выходные данные следующим образом?
Конечный результат должен иметь атрибуты: данные-оригинал, классы, ширина, высота.
Нужен WordPress Query.
Нет JQuery, пожалуйста.
WordPress имеет встроенный хук для изменения или изменения изображения HTML
wp_get_attachment_image_attributes
.
Вот код:
function wh_alter_attachment_image($attr)
{
if (isset($attr['srcset']))
unset($attr['srcset']);
if (isset($attr['src']))
{
$attr['data-original'] = $attr['src'];
unset($attr['src']);
}
return $attr;
}
add_filter('wp_get_attachment_image_attributes', 'wh_alter_attachment_image');
Код входит в functions.php
файл вашей активной дочерней темы (или темы). Или также в любом файле плагина php.
Код протестирован и работает.
Надеюсь это поможет!
Других решений пока нет …