特定类别的WordPress循环

时间:2013-02-12 作者:user23407

我有这个特定类别的代码片段,它工作得很好,但我希望很少修改,以升序显示帖子。

<?php

 // The Query
 query_posts( array ( \'category_name\' => \'A\', \'posts_per_page\' => -1 ) );

 // The Loop
while ( have_posts() ) : the_post(); ?>
   <li>
     <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
 </li>

 <?php endwhile;

 // Reset Query
 wp_reset_query();

 ?>

3 个回复
最合适的回答,由SO网友:Ben Racicot 整理而成

非常确定query\\u posts是最糟糕的查询方式。。。

始终使用get\\u帖子,从我不断被告知的内容中获取信息。删除以下数组中未使用的参数。

$args  = array(
    \'posts_per_page\'  => 5000,
    \'offset\'          => 0,
    \'category\'        => ,
    \'orderby\'         => \'post_date\',
    \'order\'           => \'ASC\',
    \'include\'         => ,
    \'exclude\'         => ,
    \'meta_key\'        => ,
    \'meta_value\'      => ,
    \'post_type\'       => \'post\',
    \'post_mime_type\'  => ,
    \'post_parent\'     => ,
    \'post_status\'     => \'publish\',
    \'suppress_filters\' => true ); 
$posts = get_posts($args);
    foreach ($posts as $post) :
    ?><div class="">
        <a href="<?php the_permalink();?>">
          <?php 
               echo the_title();
               echo the_post_thumbnail(array(360,360));
               the_excerpt(\'more text\');
          ?></a></div>
    <?php endforeach; ?>
<?php 
类别id为的WP\\U查询方法:

$query = new WP_Query( array( \'category__in\' => array( 2, 6 ), \'order\' => \'ASC\') );
或者像这样更改查询,但我不知道如何添加升序:

    add_action( \'pre_get_posts\', \'add_my_custom_post_type\' );

    function add_my_custom_post_type( $query ) {
        if ( $query->is_main_query() )
            $query->set( \'category\', \'A\' );
         // $query->set( \'order\', \'ASC\' ); maybe?
        return $query;
    }

SO网友:user156

将“订单”=>“ASC”添加到查询中

 query_posts( array ( \'category_name\' => \'A\', \'order\' => \'ASC\', \'posts_per_page\' => -1 ) );

SO网友:Natko

只需向数组中添加一个参数。。。

query_posts( array ( \'category_name\' => \'A\', \'posts_per_page\' => -1, \'order\' => \'ASC\' ) );
。。。但不要使用query\\u帖子,请参见here 为什么?相反,你可以这样做:

$args = array(
    \'category_name\' => \'A\',
    \'posts_per_page\' => -1,
    \'order\' => \'ASC\',
);

$your_query = new WP_Query($args);

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

结束

相关推荐

Multiple loops are not reset

我可爱的同事们再次设计了一款让我很难在Wordpress中找到它的东西。令人惊讶的是,这是我以前做过多次的事情;在一个页面上有最近的帖子和页面内容。主页是一个页面。在页面内容上方有三篇最近的帖子。对于帖子,我需要在<!--more--> 标签这个循环似乎工作得很好。稍后,在模板中,我循环查看实际页面内容。无论我做什么,它总是给我不可靠的结果。这是我的索引的精简版本。php/页。php模板(它们恰好相同):<div id=\"content\"> <?php g