按名称排序帖子&在wordpress中只显示一次首字母

时间:2013-11-03 22:29:15

标签: php wordpress loops

我遇到了问题,我按照标题按升序显示wordpress中的帖子,但我想要的是显示帖子组的第一个字母,我的意思是

A: Annanas
   Apple
   Almond
B: Banana
G: Grape

我不知道如何在标准循环中实现这样的东西

<?php query_posts( array ( 'category_name' => 'publishers', 'orderby' => 'title', 'order' => 'ASC' ) ); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <li>
        <?php the_title(); ?>
    </li>
<?php endwhile; endif; wp_reset_query(); ?>

如果有人可以帮助我,我会很高兴...

小心,祝你有愉快的一天!

1 个答案:

答案 0 :(得分:2)

一个想法是:

<?php 
$letter=' '; 
query_posts( array ( 'category_name' => 'publishers', 'orderby' => 'title', 'order' => 'ASC' ) );
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <li>
        <?php 
        $title=get_the_title(); 
        $initial=strtoupper(substr($title,0,1));
        if($initial!=$letter)
          {
          echo "<span>$initial : </span>";
          $letter=$initial;
          }
        echo $title;
        ?>
    </li>
<?php endwhile; endif; wp_reset_query(); ?>