У меня возникла проблема с удалением ширины и высоты из моих вложенных изображений при использовании wp_get_attachment_image. Это то, что я использую для отображения изображения
<?php echo $image = wp_get_attachment_image( $entry['slide_image_id'], true, 'full'); ?>
Как это выглядит исходный код
<img width="150" height="108" src="http://website:8888/wp-content/uploads/2015/12/cupcakes-and-cosmetics-logo.png" class="attachment-1 size-1" alt="cupcakes-and-cosmetics-logo" />
Я хотел бы, чтобы это отображалось так
<img src="http://website:8888/wp-content/uploads/2015/12/cupcakes-and-cosmetics-logo.png" class="attachment-1 size-1" alt="cupcakes-and-cosmetics-logo" />
Изображение извлекается из повторяемого поля файла с записью с идентификатором slide_image_id. Я смотрю вокруг и имею уведомление использовать wp_get_attachment_image_url, но когда я использую его с моим кодом выше, изображение не отображается. Я что-то не так делаю?
<?php echo $image = wp_get_attachment_image_url( $entry['slide_image_id'], true, 'full'); ?>
Примечание: $ entry ['slide_image_id'] - это то, что используется для вызова моего повторяемого поля файла.
custom-field
attachments
images
user3756781
источник
источник
wp_get_attachment_image_url()
возвращает URL - не элемент изображения.add_filter('wp_get_attachment_image_attributes' ...
за исключением того, что жестко заданы только высота и ширина.Ответы:
Ваши аргументы для обоих
wp_get_attachment_image_url()
иwp_get_attachment_image()
в неправильном порядке - проверьте связанную документацию для деталей. Кроме того,wp_get_attachment_image_url()
возвращает URL - не фактический элемент изображения.К сожалению,
wp_get_attachment_image()
функция в настоящее время (по состоянию на WordPress 4.4.1) жестко закодированы для выводаwidth
иheight
<img>
атрибутов (см билет # 14110 ), так что вам нужно создать образ разметке себя. Это можно сделать, взяв подсказки изwp_get_attachment_image()
источника :источник
<img>
биты поколения атрибут изwp_get_attachment_image()
- хотя я ушел изsrcset
иsizes
детали , используемые для чувствительных изображений. Если это необходимо,get_sizeless_attachment_image()
рекомендуется создать функцию .Временное решение
Я провел некоторое копание / тестирование ядра и нашел обходной путь через
wp_constrain_dimensions
фильтр:Это, кажется, позволяет нам удалить атрибуты высоты и ширины из сгенерированного html изображения
wp_get_attachment_image()
, не выходя из регулярных канонов. Мы также можем использоватьwp_get_attachment_image_src
фильтр аналогичным образом, чтобы удалить ширину / высоту, но сохранить URL-адрес .Заметки
Это решение будет удалить
srcset
иsizes
атрибуты. Но также возможно установить атрибуты srcset и sizes через четвертый$attr
входной аргумент.Как уже упоминалось @bosco, вы переключили входные аргументы иконки и размера в:
Используйте это вместо:
источник
Я просто использовал CSS для этого. Это не работает во всех сценариях, но достаточно часто это будет. Давайте возьмем изображение размером 300 на 300 пикселей:
Это ограничивает размеры изображения без потери соотношения его ширины к высоте. В противном случае вы также можете использовать REGEX:
Это были некоторые альтернативы. Удачи.
источник