按上级发布日期查询所有附件和订单

时间:2015-11-13 作者:Stephen S.

我正在做一个项目,我需要查询所有的图片附件,然后根据它们所附的帖子发布的日期对它们进行组织。

下面的查询运行良好,除了$post_image_query 未在的输出中维护$the_query.

所以我的问题是,我如何查询所有附件并按其父母的发布日期排序?

// Get All Post IDs
$post_image_query = new WP_Query( 
    array( 
        \'post_type\' => \'post\', 
        \'posts_per_page\' => -1,
        \'orderby\' => \'date\',
        \'fields\' => \'ids\'
    ) 
);

// Get All Attachments of Posts from $post_image_query 
$the_query = new WP_Query( 
    array(
        \'post_type\' => \'attachment\',
        \'post_status\' => \'inherit\',
        \'post_parent__in\' => $post_image_query->posts
    );
);

1 个回复
最合适的回答,由SO网友:Stephen S. 整理而成

在花了一些时间阅读文档之后WP_Query\'s Order & Orderby Parameters 我找到了下面列出的参数,几乎可以达到目的:

“post\\uu in”-保留post\\uu in数组中给定的post ID顺序(自3.5版起提供)。

不幸的是,我没有使用post__in 而是post_parent__in so订购依据post__in 不起作用。

文档中没有列出它,但我决定尝试订购post_parent__in 很高兴发现它起了作用!

最终结果:

// Get All Post IDs
$post_image_query = new WP_Query( 
    array( 
        \'post_type\' => \'post\', 
        \'posts_per_page\' => -1,
        \'orderby\' => \'date\',
        \'fields\' => \'ids\'
    ) 
);

// Get All Attachments of Posts from $post_image_query 
$the_query = new WP_Query( 
    array(
        \'post_type\' => \'attachment\',
        \'post_status\' => \'inherit\',
        \'orderby\' => \'post_parent__in\',
        \'post_parent__in\' => $post_image_query->posts
    );
);
对于其他人来说,这可能是一个很自然的故障排除想法,但我几乎要问一个关于它的问题,因为我不知道如何实现:)

相关推荐

Get_Terms()Order by Term_Meta

我正在做一个get_terms() 我试图按自定义术语元排序的查询。自定义术语元键是\'order\' 它是一个数值(介于1和10之间)。我尝试了以下方法,但顺序似乎没有遵循元值-任何指针都是值得赞赏的。$type_terms = get_terms( \'type\', array( \'hide_empty\' => false, array( \'key\' => \'order\', ), \'or