我想将所有图像附加到特定帖子。这适用于:
$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。在循环外部使用时,应根据上下文相应地更改此参数值。