WordPress 技巧:获取日志的所有附件

WordPress 3.6 推出了一个新的函数:get_attached_media(),使得获取一个指定日志的所有附件文件变得异常简单。

以前如果我们要获取指定日志的所有图片:我们需要通过类似如下的代码:


$args = array(
	'post_parent' => $post->ID,
	'post_type' => 'attachment',
	'post_mime_type' => 'image',
	'posts_per_page' => -1,
	'orderby' => 'menu_order',
	'order' => 'ASC',
);
 
$attachments = get_posts( $args );

WordPress 3.6 新增的 get_attached_media() 函数使得这个过程更加简洁:

获取所有附件,不管什么类型:


$attachments = get_attached_media( '', $post->ID );

获取所有的音频附件:


$attachments = get_attached_media( 'audio', $post->ID );

获取所有图片附件:


$attachments = get_attached_media( 'image', $post->ID );

获取所有视频附件:


$attachments = get_attached_media( 'video', $post->ID );