Orderby不适用于使用ID数组的QUERY_POST

时间:2012-05-24 作者:v3nt

我有一个ID数组,我发送给query\\u posts以获取帖子(这很好),但它似乎总是把附件(562)放在最后,即使它是最新的。还尝试了title和ASC vs DESC,但它总是最后一个?

$slide_args = array( 
    \'post_type\'   => \'attachment\', 
    \'post_status\' => \'inherit\',
    \'fields\'      => \'ids\',
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'media_tag\',
            \'terms\'    => \'new-work\',
            \'field\'    => \'slug\',
        )
    )
);

$slide_attachments = new WP_Query($slide_args);

$sticky_ids = get_option(\'sticky_posts\');

$slideshow_posts = array_merge($slide_attachments->posts,$sticky_ids) ;

// creates Array ( [0] => 562 [1] => 479 [2] => 598 [3] => 686 ) 
// 562 is an attachment, the others are posts

$postsargs = array(             
    \'orderby\'       => \'date\',
    \'order\'         => \'DESC\',  
    \'post_status\'   => \'published\',
    \'post_type\'     => array( \'attachment\', \'post\' ),
    \'post__in\'      => $slideshow_posts,
);

query_posts( $postsargs );
有人知道会发生什么吗?最好的,Dc。

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

我想我明白了。您正在查询粘性帖子。附件至少在默认情况下不能是粘性的。因此,当涉及粘性帖子时,您可以看到正常的循环顺序。因此,如果将其添加到第二个args数组中:

\'ignore_sticky_posts\' => true
我认为你的问题应该得到解决。

这是relevant codex section 关于这个论点。

结束

相关推荐

如何在数组中定义类别ID?

我有以下几点:<?php if ( array( \'is_category\', \'is_tag\' ) ) { ?> 我想做的是(这不太管用):<?php if ( array( \'is_category(\'13\')\', \'is_tag\' ) ) { ?> 所以我想问的是,我如何在代码中包含这个ID,这样才能工作?这是我在数组之外的任何地方都会这样做的,所以我不确定如何在这里包含它。谢谢