Get_Image_tag()html输出:src属性为空

时间:2012-07-13 作者:Krimo

我正在尝试使用get_image_tag() 函数更改图像的html输出,如下所示:

add_filter(\'get_image_tag\', \'kh_image_attachment\', 10, 5);
function kh_image_attachment($html, $id, $alt, $title, $align) {
    $html = \'<img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="\' . esc_attr($img_src) . \'" id="\'.esc_attr($id).\'" alt="\' . esc_attr($alt) . \'" title="\'.esc_attr($title).\'" class="\'.$class.\'" onload=lzld(this) onerror=lzld(this) />\';
    return $html;
}
不幸的是src 属性仍然为空(class属性也是空的,但我对此毫不在意)。我一辈子都不知道为什么。你能帮帮我吗?

非常感谢。

2 个回复
最合适的回答,由SO网友:Krimo 整理而成

解决方案:

我需要使用wp_get_attachment_image_src 作用

add_filter(\'get_image_tag\', \'kh_image_attachment\', 10, 5);
function kh_image_attachment($html, $id, $alt, $title, $align) {
    $image_source = wp_get_attachment_image_src( $id, \'full\' );
    $html = \'<img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="\'.$image_source[0].\'" id="kh-image-attachment-\'.esc_attr($id).\'" alt="\' . esc_attr($alt) . \'" title="\'.esc_attr($title).\'" onload=lzld(this) onerror=lzld(this) />\';
    return $html;
}

SO网友:janw

尝试以下操作:
您使用的过滤器包含多个参数,add_filter 默认情况下,将提供1个参数,您使用4个(共6个),在我的示例中,我为您的函数提供了所有6个参数。如果要使用4,请将函数改回并更改add_filter.

<?php add_filter(\'get_image_tag\', \'kh_image_attachment\', 10/*prio*/, 6/*number of arguments*/);
function kh_image_attachment($html, $id, $alt, $title, $align, $size)
{
    //your code
}
应该有用吧,问题?问

结束

相关推荐

Log hits on advertiser images

我们网站上有一些“赞助商”图片,链接到我们的。。好吧,赞助商!Source<a href=\"http://www.amazon-below-water.com/\" target=\"_blank\" alt=\"Amazon Below Water\"><img src=\"<?php bloginfo(\'template_url\'); ?>/images/BelowWater.png\" alt=\"\" /></a> <a href