Wordpress:get_attached_media('图像')按标题排序


Wordpress: get_attached_media('image') sorted by title

我想将所有图像附加到特定帖子。这适用于:

$media = get_attached_media('image');

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

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

我不知道如何按标题对此进行排序。谁能帮忙?

最好

获取已经排序的附件而不是对结果数组进行排序,对吧?这将节省您的代码、麻烦和处理。

如果你看一下WP Codex,get_attached_media()调用get_children(),它调用get_posts()(是的,迅速升级)。在WordPress中,附件(以及几乎所有内容)本质上是一种post

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

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

编辑:正如ViszinisA和Pieter Goosen所指出的那样,我直接将呼叫更改为get_posts()。打电话给get_children()是没有意义的.

注意:'post_parent'参数是必需的,因此我使用get_the_ID()作为其值添加了它。请记住,您需要在循环内,get_the_ID()才能检索当前的帖子 ID。在循环外部使用时,应根据上下文相应地更改此参数值。