2017-10-14 126 views
0

我正在创建一个自定义图像库简码,在Lightbox中打开图像。输出图像的线是:WordPress自定义图像库链接到自定义图像大小

$image_output = "<a href='" . wp_get_attachment_url($id) . "' data-toggle='lightbox' data-gallery='$selector' data-footer='$attachment->post_excerpt'> " . wp_get_attachment_image($id, $atts['size'], false, $attr) . "</a>"; 

除了这个链接到原始(和全尺寸)图像,一切都很好。我希望它链接到自定义图像大小。我试着wp_get_attachment_url($id)wp_get_attachment_image_src($id, 'gallery-thumbnail', false)

但是,我得到Array而不是获得所需的图像网址。任何想法我做错了什么?应该使用别的东西?

回答

1

wp_get_attachment_image_src()返回一个数组(URL,宽度,高度),以便使用

wp_get_attachment_image_src(...)[0] 
+0

'wp_get_attachment_image_src($ ID)[0]'给我的缩略图,但我怎么得到'画廊,thumbnail'自定义图片大小? –

+0

wp_get_attachment_image_src($ id,'gallery-thumbnail')[0] – B68C

+0

糟糕,我忘了其他参数。这工作。谢谢! –

1

wp_get_attachment_image_src取POST_ID和所需的大小作为参数,并返回包含一个数组:

[0] = URL
[1] =宽度
[2] =高度
[3] = is_intermediate(即它是否是一个调整后的图像或原始)

因此得到的URL称为gallery-thumbnail自定义尺寸,你需要做到以下几点:

$img_attrib = wp_get_attachment_image_src($id, 'gallery-thumbnail'); 
if ($img_attrib) 
    $url = $img_attrib[0]; 
$image_output = "<a href='".$url."' [...rest of code...] </a>"; 

我已经做到了一步一步的,所以你可以看到发生了什么,但当然也可以缩短这如下所示 - 但是如果找不到图像,这将会有一个断开的链接。

<a href='".wp_get_attachment_image_src($id, 'gallery-thumbnail')[0]."' [...rest of code...] </a>" 

注:这里假设你已经在使用add_image_size的functions.php指定自定义大小等所有图像的该版本已创建再生的缩略图。

编号:Developer Reference for wp_get_attachment_image_src

+0

感谢您的详尽答案,但@ B68C击败你。尽管我喜欢你的回退! –

+0

@TroyTempleman是的,我看到了你的问题,但我会在完成之前离线,B68C在我回来完成时回答。对于自定义大小来说,使用默认大小作为回退是一个好主意 - 我没有在这里包含完整的实现,但您明白了。很高兴你找到答案:) – FluffyKitten