按字母顺序显示特定类别的帖子

时间:2013-09-30 作者:user2754416

我正在寻找一种解决方案,如果类别为“词汇表”,则按字母顺序显示帖子,否则按升序显示帖子。当我尝试以下代码时,它非常适合分类词汇表,但其他帖子的顺序出现了错误。

<?php global $query_string; 

if(is_category(\'Glossary\'))
{
query_posts($query_string . "&orderby=title&order=ASC");
while ( have_posts() ) : the_post();
the_title();
endwhile; 




}
else{
query_posts($query_string . "&order = ASC"); ?>
             <?php while ( have_posts() ) : the_post(); ?>
                    <?php  the_title(); ?>

                <?php endwhile; ?>
<?php } ?>
希望有人能帮我解决这个问题。

1 个回复
SO网友:Marco Berrocal

首先,我会用WPQuery. 最好去那里,而不是去query\\u帖子

其次,一旦你承认并接受只要你在WP主题化的奇妙世界里,WP Query就是你的朋友,那么你就必须做以下事情来解决你的难题:

if(is_category(\'your_category\') :
    $args = array(
        \'post_type\'         => \'post\',  
        \'posts_per_page\'    => \'how_many_posts_you_want_-1_if_all\',
        \'cat\'               => \'your_category_number\',
        \'orderby\'           => \'title\', 
        \'order\'             => \'ASC\'
    );
else :
    $args = array(
        \'post_type\'         => \'post\',  
        \'posts_per_page\'    => \'how_many_posts_you_want_-1_if_all\',
        \'order\'             => \'ASC\'
    );
endif;
$loop = new WP_Query( $args ); 
while($loop->have_posts()) : $loop->the_post(); 
    //do your magic here
endwhile;
wp_reset_query();
这应该可以做到。您可以优化$args 数组一点,因为我在两个条件上都放置了一些项,但这可以用于快速测试。

结束