如果我使用插件“增强媒体库”并且我想显示随机图像,我可以使用 WP_query 来执行此操作吗?
我创建了一个名为“imgfront”的类别,然后我想在特定页面上显示该类别中的随机图像。我尝试了以下查询:
$image = new WP_Query(
array(
'post_type' => 'attachment',
'media_category' => 'imgfront',
'posts_per_page' => '1',
'orderby' => 'rand',
)
);
if( $image->have_posts() ){
$image_attributes = wp_get_attachment_image_src( $image->posts[0], 'full' );
?><img src="<?php echo $image_attributes[0]; ?>"> <?php
}
不过,该查询似乎没有返回任何图像。
最佳答案
幸运的是,我是增强媒体库的作者(感谢您使用它!)。该插件创建的媒体分类法(包括媒体类别)只是普通的 WordPress 自定义分类法。因此,与 WordPress 分类法相关的所有内容都同样适用于他们。
分类请求应如 WP_Query Taxonomy Params 中所述。 :
$args = array(
'post_type' => 'attachment',
'orderby' => 'rand',
'posts_per_page' => '1',
'tax_query' => array(
array(
'taxonomy' => 'media_category',
'field' => 'slug',
'terms' => 'imgfront',
),
),
);
$image = new WP_Query( $args );
但在这种情况下,我最好使用 term_id
而不是 slug
。
关于php - 从 WordPress 媒体库中查询随机图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41615416/