如何添加订单和orderby参数这个wordpress查询?

时间:2014-10-10 09:55:30

标签: php wordpress sql-order-by

在使用此代码段时,我设法将自己画成一个角落,但我无法设法解决如何对查询进行排序。通常我可以这样做,但是使用这个代码段排除标签页上的一个标签,我无法解决这个问题。任何人吗?

$exclude_tags = array(17);

global $wp_query;
$wp_query->set('tag__not_in', $exclude_tags);

$wp_query->get_posts();

if (have_posts()) : while (have_posts()) : the_post();

2 个答案:

答案 0 :(得分:0)

此示例将为您提供全程帮助: -

$args = array(
        'post_type' => 'post',
        'meta_key' => 'pb_issue_featured',
        'orderby'   => 'meta_value',
        'order' => 'DESC',
        'posts_per_page' => $posts,
        'paged' => $paged,
        'paged' => 1,
        'meta_query' => array(
            array(
                'key' => 'headline',
                'value' => 1,
                'compare' => '!=' 
                )
            )
        );

add_filter( 'posts_orderby', 'filter_query' );
$q = new WP_Query($args);
remove_filter( 'posts_orderby', 'filter_query' );

function filter_query( $query ) {
    $query .= ', wp_posts.menu_order ASC';
    return $query;
}

Referenced From

答案 1 :(得分:0)

请看这个例子。你可以这样做。

代码将按升序按字母顺序显示最后十个帖子的标题。

<?php
    $args = array( 'posts_per_page' => 10, 'order'=> 'ASC', 'orderby' => 'title' );
    $postslist = get_posts( $args );
    foreach ( $postslist as $post ) :
      setup_postdata( $post ); ?> 
        <div>
            <?php the_title(); ?>
        </div>
    <?php
    endforeach; 
    wp_reset_postdata();
?>

请参阅链接http://codex.wordpress.org/Template_Tags/get_posts了解详情。