Этот код:

$src = wp_get_attachment_image( get_the_ID(), 'medium' );
$url = wp_get_attachment_image_url( get_the_ID(), 'full' );

printf( '<p><a href="%s"><img src="%s"></a></p>', $url, $src ); 

Производит это:

enter image description here

Что это за HTML

<a href="http://www.dev.dev/wp-content/uploads/2017/12/p.png"><img src="<img width=" 300"="" class="attachment-medium size-medium" alt="" srcset="http://www.dev.dev/wp-content/uploads/2017/12/p-300x169.png 300w, http://www.dev.dev/wp-content/uploads/2017/12/p-768x432.png 768w, http://www.dev.dev/wp-content/uploads/2017/12/p-1024x576.png 1024w" sizes="(max-width: 300px) 100vw, 300px" height="169">"&gt;</a>

Почему это?

Я не вижу проблем с этим кодом:

printf( '<p><a href="%s"><img src="%s"></a></p>', $url, $src );
2
Michelle 2 Янв 2018 в 07:15

2 ответа

Лучший ответ

Это то, на что я его изменил. Спасибо за указание в правильном направлении Б.Десай

 printf( '<p><a href="%s">%s</a></p>', $url, $src );

wp_get_attachment_image возвращает (строка) HTML-элемент img или пустую строку в случае ошибки.

0
Dev 2 Янв 2018 в 04:27

wp_get_attachment_image возвращает тег полного изображения. Поэтому вам не нужно добавлять тег <img src. Измените свой код

printf( '<p><a href="%s"><img src="%s"></a></p>', $url, $src ); 

К

printf( '<p><a href="%s">"%s"</a></p>', $url, $src ); 
3
B. Desai 2 Янв 2018 в 04:22