如何使用自定义分类法获取所有图像

时间:2014-04-27 04:42:28

标签: wordpress

我为所有附件设置了自定义分类location,并尝试使用location == background列出所有图像:

foreach(get_posts(array('post_type' => 'attachment')) as $image) {
    foreach(wp_get_post_terms($image->ID, 'location') as $term) {
        if ($term->slug == 'background') echo wp_get_attachment_image($image->ID);
    }
}

我怎么能以更简单的方式做到这一点?没有额外的循环和查询。 谢谢。

1 个答案:

答案 0 :(得分:2)

你可以尝试这样的事情(使用WP_Query):

$args = array(
    'post_type' => 'attachment',
    'post_status' => 'inherit',
    'post_mime_type' => 'image/jpeg,image/gif,image/jpg,image/png',
    'tax_query' => array(
        array(
            'taxonomy' => 'location',
            'field' => 'slug',
            'terms' => 'background'
        )
    )
);
$query = new WP_Query($args);
if($query->have_posts()) :
    while ($query->have_posts()) : $query->the_post();
        //...
    endwhile;
endif;