How order by works?

时间:2018-08-28 作者:Hector Sevilla Sandoval

我正在尝试按meta\\u值(特色)然后按标题排序一些帖子。我把特色的按正确的顺序排列,但是,我在特色的后面混合了一些非特色的,我注意到这只发生在第一页。我做错什么了吗?我需要做什么才能在按字母顺序排列的通话中先获得特色和非特色?,这是我的问题(使用名为Vantage的高级主题):

function appthemes_addon_on_top_query( $wp_query ){

    $addon_type = $wp_query->get( \'addon_on_top\' );



    if( ! $addon_type || ! appthemes_addon_exists( $addon_type ) ) {
        return;
    }

    $addon_info = appthemes_get_addon_info( $addon_type );


    $flag_key   = $addon_info[\'flag_key\']; // _listing-featured-cat
    $meta_query = (array) $wp_query->get( \'meta_value\', 1 );

    $meta_query = array_filter( $meta_query );

    $meta_query[] = array(
        \'relation\' => \'OR\',
        array(
            \'key\'     => $flag_key,
            \'compare\' => \'NOT EXISTS\',
        ),
        array(
            \'relation\' => \'OR\',
            array(
                \'key\'   => $flag_key,
                \'value\' => 1,
            ),
            array(
                \'key\'     => $flag_key,
                \'value\'   => 1,
                \'compare\' => \'!=\',
            ),
        ),
    );





    $wp_query->set( \'meta_query\', $meta_query );
    /* Set an order by meta_value first and then by title */
    $wp_query->set( \'orderby\', array( \'meta_value\' => \'DESC\', \'post_title\' => \'ASC\' ) );

    /*echo "<pre>"; print_r($meta_query); echo "</pre>";*/
}
特色:http://prntscr.com/kno3lk非特色:http://prntscr.com/kno3vc

1 个回复
SO网友:Antonio

参数orderby 按给定参数对帖子排序。您需要参数order 设置方向。

更多详细信息:Order & Orderby Parameters of WP_Query

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post