用过 WordPress 相册功能的朋友都知道,WordPress 的相册功能相当好用,但是文章中插入的相册输出却比较单调,简单的图片列表,美化起来很不方便,WordPress 3.6 增加了一个获取文章中所有相册的图片的功能:get post galleries images,让我们来一起看看这个功能有什么作用。
function mx_show_gallery_image_urls( $content ) {
global $post;
// 只在单页面执行此函数
if( ! is_singular() )
return $content;
// 确保文章中有相册简码
if( ! has_shortcode( $post->post_content, 'gallery' ) )
return $content;
// 获取所有相册的图片
$galleries = get_post_galleries_images( $post );
$image_list = '<ul>
<li style="list-style-type: none;">
<ul>';
//遍历所有相册
foreach( $galleries as $gallery ) {
// 遍历所有相册中的图片
foreach( $gallery as $image ) {
$image_list .= '<li>' . $image . '</li>
}
}
</ul>
</li>
</ul>';
$image_list .= ''; // 附加图片列表到文章中
$content .= $image_list;
return $content;
}
add_filter( 'the_content', 'mx_show_gallery_image_urls' );
获取了相册中的图片,我们就可以随意对相册进行美化了,加个 JavaScript 代码,做成灯箱的效果,通过 CSS 动画为相册中的图片增加动感效果,为图片加个背景边框什么的都不是问题。
1 thoughts on “获取 WordPrss 文章中所有相册的图片:get post galleries images”
修改WordPress默认相册显示样式有相应的插件,原理应该都是差不多的吧?