本站之前推薦過(guò)一個(gè)優(yōu)化 WordPress 相冊(cè)顯示效果的插件,其實(shí)不用插件,我們也可以對(duì)文章內(nèi)的相冊(cè)效果做優(yōu)化,具體實(shí)現(xiàn)方式就是獲取文章內(nèi)的插入的相冊(cè),然后獲取相冊(cè)中的圖片,WordPress 為我們提供了實(shí)現(xiàn)此功能的函數(shù),我們一起來(lái)看一下。
獲取相冊(cè)中圖片的縮略圖
文章里面的相冊(cè)默認(rèn)顯示的圖片的縮略圖,點(diǎn)擊才能顯示原圖,獲取相冊(cè)中圖片縮略圖我們需要用到 WordPress 的 get_post_gallery_images 函數(shù),獲取到的就是相冊(cè)圖片的地址列表,然后我們?cè)傺h(huán)輸入,顯示這些圖片就可以了,代碼如下。
$gallery = get_post_gallery_images( $post ); //獲取文章里面的相冊(cè)
foreach($gallery as $link) {
echo '<a href="'. $link . '">';
echo '<img src="'. $link . '" alt="" />';
echo '</a>';
}
獲取到了相冊(cè)的圖片,我們就可以根據(jù)自己的需要調(diào)整 CSS 或者加一些 JavaScript 效果來(lái)優(yōu)化 WordPress 相冊(cè)的顯示效果了。
獲取相冊(cè)中圖片的原始圖
在上面的方法中,我們獲取到的是圖片的縮略圖,默認(rèn)的列表顯示方式是比較合適的,可是如果我們要給相冊(cè)加上 Lightbox 效果,查看完整圖片的話,縮略圖顯示是不行的,遺憾的是get_post_gallery_images 沒(méi)有為我們提供圖片大小的參數(shù),我們就只有通過(guò)另外一個(gè)函數(shù):get_post_gallery 來(lái)獲取圖片的原始圖了。
$gallery = get_post_gallery( $post, false ); //獲取相冊(cè)中圖片的id
$ids = explode( ",", $gallery['ids'] ); //轉(zhuǎn)化為數(shù)組
foreach( $ids as $id ){
$link = wp_get_attachment_url( $id ); //根據(jù)圖片id獲取原始圖片
echo '<a href="'. $link . '">';
echo '<img src="'. $link . '" alt="" />';
echo '</a>';
}

