获取最新帖子(反向时间顺序)

时间:2013-09-09 23:17:13

标签: php wordpress

我正在使用以下内容,但我的帖子仍按时间顺序排列(从最新到最新)。我的目标是在最上面发布最新帖子。 (最新到旧)

$catquery = new WP_Query( array (
    'cat'=>'27', 
    'post_type'=>'news', 
    'orderby' => "post_date", 
    'order' => "DESC" ) 
);

while($catquery->have_posts()) : $catquery->the_post();

<p class="date"> <?php the_date(); ?> </p>

<h3><?php the_title(); ?></h3>

<p> <?php the_content('Read More', FALSE); ?> 

我也试过orderby' => "date"但没有运气。怎么解决这个问题?

2 个答案:

答案 0 :(得分:1)

你的代码很接近,但有一些问题。

  1. 'cat'期望int不是字符串,因此您需要'cat'=>27,
  2. 而不是post_date您需要date
  3. 我不确定您需要哪个订单,因此如果ASC不起作用,请尝试DESC
  4. 以下是新查询:

    $catquery = new WP_Query(array (
      'cat'       => 27, 
      'post_type' => 'news', 
      'orderby'   => 'date', 
      'order'     => 'DESC'
    ));
    
    • order(string) - 指定'orderby'参数的升序或降序。 默认为“DESC”。
      • 'ASC' - 从最低值到最高值的递增顺序(1,2,3; a,b,c)。
      • 'DESC' - 从最高值到最低值的降序(3,2,1; c,b,a)。

    以下是参考资料:WP_Query

答案 1 :(得分:1)

    your post is custom post type so use this argument:'
    <?php 
    $args = array(
        'tax_query' => array(
                array(

                'taxonomy' => 'news_category',

                'field' => 'id',

                'terms' => '27'

            )
        ),
        'post_type'=>'news',
        'order_by'=>'date',
        'order'=>'DESC',
        'posts_per_page'=>-1
);
    query_posts($args);
    while ( have_posts() ) : the_post(); 
?>
    <li>
        <p class="date"><?php echo get_the_date('F j, Y'); ?></p>
        <a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a>
    </li> 
<?php 
endwhile;
wp_reset_query();
?>