将WP_Query结果拆分为不同的部分并添加标题


Splitting WP_Query Results into different sections and adding headers

所以基本上我有一个WP_Query,它按字母顺序输出所有帖子。现在我需要根据它们的第一个字母将这些帖子分为几个部分,所以类似于下面的

列出所有带有的帖子

列出所有带有b 的帖子

问题是我想包含div,而这些div只需要运行一次,而不是多次,例如

    <div class="letterA">
        <div class="title">A</div>
            My list of A posts 
    </div>
    <div class="letterB">
        <div class="title">B</div>
            My list of B posts 
    </div>
... and so on until Z

这些div只运行一次,并且它们特定于每个字母。我目前的解决方案有从字母a到字母z的if语句,以及同样多的信号变量来完成它。我觉得这可以更有效地完成,我想知道是否有人更好地知道我不必做那么多if。

这是我当前的代码:http://pastebin.com/UnUqQWcN

这可能不是最优雅的解决方案,但它肯定会保存一些"if"语句。

在循环的每次迭代过程中,跟踪最后一篇文章的第一个字母。

例如,假设帖子已经按字母顺序排列:

$lastLetter = '';
while ( have_posts() ) {
    the_post(); 
    $currentLetter = strtolower(substr(get_the_title(), 0, 1));
    if ($currentLetter != $lastLetter) {
        // do custom nav header code
    }
    // do list of links content here
    $lastLetter = $currentLetter;
}