2017-10-14 162 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