WP_Query - 按文件名订购附件?

时间:2017-04-05 21:32:36

标签: wordpress arguments attachment

有没有办法在WP_Query中按文件名订购附件?

例如,在参数中:

$args = array(
    'post_type' => 'attachment', 
    'post_status' => 'inherit',
    'post_mime_type' => 'image',
    'order' => 'DESC',
    'orderby' => 'filename'
);

2 个答案:

答案 0 :(得分:0)

get attachments参数中没有orderby filename选项。您需要根据attachement数组中的可用值自行排序附件数组。要按文件名排序,您可以使用guid值。

请阅读此链接以按值排序数组 php array sort within array based on the value

答案 1 :(得分:0)

尝试这样的事情。

$args = array(
    'post_type' => 'attachment', 
    'post_status' => 'inherit',
    'post_mime_type' => 'image',
);

if ( empty( $images = get_posts( $args ) ) ) {
    return;
}

usort( $images, function( $img1,  $img2 ) {
    return ( basename( $img1->guid ) > basename( $img2->guid ) ) ? -1 : 1;
} );