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

Seb*_*ian 3 php arrays sorting wordpress

我希望将所有图像附加到特定帖子.这适用于:

$media = get_attached_media('image');
Run Code Online (Sandbox Code Playgroud)

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

for ($i = 0; $i < count($media); $i++) {
  get_the_title(array_keys($media)[$i])
}
Run Code Online (Sandbox Code Playgroud)

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

mat*_*elo 6

最好是获取已经订购的附件而不是对结果数组进行排序,对吗?这将节省您的代码,头痛和处理.

如果你看一下WP食品,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'
));
Run Code Online (Sandbox Code Playgroud)

编辑:正如ViszinisAPieter Goosen指出的那样,我get_posts()直接改变了呼叫.呼唤没有意义get_children().

注意:'post_parent'参数是必需的,所以我使用get_the_ID()它的值来添加它.请你心中必须是内环路get_the_ID()检索当前帖子ID.在循环外部使用时,应相应地将此参数值更改为上下文.

  • 为什么不直接调用get_posts()呢? (2认同)