Wordpress:get_attached_media('image') 按标题排序

Wordpress: get_attached_media('image') sorted by title

我想获取所有附加到特定 post 的图像。这适用于:

$media = get_attached_media('image');

我现在需要的是按标题对这些图像进行排序。我已经可以生成数组中的标题列表:

for ($i = 0; $i < count($media); $i++) {
  get_the_title(array_keys($media)[$i])
}

我不知道如何按标题排序。有人可以帮忙吗?

获取已经订购的附件而不是订购结果数组会更好,对吧?这将为您节省代码、麻烦和处理。

如果您查看 WP Codex,get_attached_media() calls get_children(), which calls get_posts()(是的,升级很快)。在 WordPress 中,附件(几乎任何东西)本质上都是 post

考虑到所有这些,这应该会为您获取附加到按标题排序的post的图像列表:

$media = get_posts(array(
    'post_parent' => get_the_ID(),
    'post_type' => 'attachment',
    'post_mime_type' => 'image',
    'orderby' => 'title',
    'order' => 'ASC'
));

编辑: 正如ViszinisA and Pieter Goosen指出的那样,我直接将调用更改为get_posts()。调用 get_children() 毫无意义。

注意: 需要 'post_parent' 参数,所以我使用 get_the_ID() 作为值添加了它。请记住,您需要在 get_the_ID() 的循环 中才能检索 当前 post ID。在循环外使用时,应根据上下文更改此参数值。