使用wp_get_attachment_image的HTML错误

时间:2018-01-02 04:15:26

标签: php html wordpress

此代码:

$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 个答案:

答案 0 :(得分:3)

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 ); 

答案 1 :(得分:0)

这就是我改变它的原因。感谢B.Desai

的正确方向
 printf( '<p><a href="%s">%s</a></p>', $url, $src );

wp_get_attachment_image返回(字符串)HTML img元素或失败时为空字符串。