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

时间:2013-07-29 22:35:49

标签: php wordpress

所以基本上我有一个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只运行一次,并且每个字母都是特定的。我目前的解决方案是if语句从字母a到字母z,以及完成它的信号变量。我觉得这可以更有效率地完成,我想知道是否有人更好地了解我不需要这么多ifs。

以下是我目前的代码:http://pastebin.com/UnUqQWcN

1 个答案:

答案 0 :(得分:0)

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

在循环的每次迭代中,跟踪最后一个帖子的第一个字母。

ex,假设帖子已按字母顺序排列:

$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;

}