本站之前推荐过一个优化 WordPress 相册显示效果的插件,其实不用插件,我们也可以对文章内的相册效果做优化,具体实现方式就是获取文章内的插入的相册,然后获取相册中的图片,WordPress 为我们提供了实现此功能的函数,我们一起来看一下。
获取相册中图片的缩略图
文章里面的相册默认显示的图片的缩略图,点击才能显示原图,获取相册中图片缩略图我们需要用到 WordPress 的 get_post_gallery_images 函数,获取到的就是相册图片的地址列表,然后我们再循环输入,显示这些图片就可以了,代码如下。
$gallery = get_post_gallery_images( $post ); //获取文章里面的相册
foreach($gallery as $link) {
echo '<a href="/en/'. $link . '/">';
echo '<img src="'. $link . '" alt="" />';
echo '</a>';
}
获取到了相册的图片,我们就可以根据自己的需要调整 CSS 或者加一些 JavaScript 效果来优化 WordPress 相册的显示效果了。
获取相册中图片的原始图
在上面的方法中,我们获取到的是图片的缩略图,默认的列表显示方式是比较合适的,可是如果我们要给相册加上 Lightbox 效果,查看完整图片的话,缩略图显示是不行的,遗憾的是get_post_gallery_images 没有为我们提供图片大小的参数,我们就只有通过另外一个函数:get_post_gallery 来获取图片的原始图了。
$gallery = get_post_gallery( $post, false ); //获取相册中图片的id
$ids = explode( ",", $gallery['ids'] ); //转化为数组
foreach( $ids as $id ){
$link = wp_get_attachment_url( $id ); //根据图片id获取原始图片
echo '<a href="/en/'. $link . '/">';
echo '<img src="'. $link . '" alt="" />';
echo '</a>';
}