2013-07-29 37 views
1

所以基本上我有一個WP_Query,它可以按字母順序輸出所有的帖子。現在我需要這些職位分成部分取決於他們的第一個字母所以像下面將WP_Query結果拆分成不同的部分並添加標題

列出所有職位有

列出所有帖子用b

的問題是,我想包括申報單,以及這些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以及儘可能多的信號變量來完成它的陳述。我覺得這可以做得更有效率,我想知道如果有人有更好的主意,我不需要做太多的ifs。

這裏是我當前的代碼吧:http://pastebin.com/UnUqQWcN

+0

是的,如果你有'$ checkA','$ checkB',...'$ checkZ'變量,你可能想閱讀起來在[數組](http://php.net/array)和循環。但在數據庫中排序結果並拆分第一個字母也是可行的。 – mario

回答

0

這可能不是最完美的解決方案,但它肯定會節省一些「如果」的語句。

在循環的每次迭代過程中,跟蹤最後一篇文章的第一個字母。

前,假設帖子已經按字母順序排列:

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

}