2011-05-09 94 views
2

我有一個包含約200個構成詞典的子頁面的父頁面。在父頁面的模板中,我希望查詢允許以下列表。我想顯示以該字母開頭的每一組單詞的第一個字母。如果一個字母不在列表中,它不應該顯示。按字母順序排列子頁面

阿爾伯特

艾倫

阿曼達

比爾

鮑勃

布魯諾

Ç

查爾斯

等等....

回答

0

我的回答來得晚了你,但也許有人會發現它很有用。我需要相同的東西,所以我不得不寫這個模板:

<?php 
/* 
Template Name: Alphabetic 
*/ 
?> 


<?php get_header(); ?> 
<div class="container"> 

    <div id="content" role="main"> 
    <h2 class="entry-title"><?php the_title(); ?></h2>        
     <?php 

     $my_wp_query = new WP_Query(); 
     $all_wp_pages = $my_wp_query->query(array('post_type' => 'page')); 

     $children = get_page_children($post->ID, $all_wp_pages); 

     $letter=""; 
     foreach ($children as $child) 
     { 
      $first_letter=substr($child->post_title,0,1); 
      if($letter != $first_letter) 
      { 
       $alphabetic[]->post_title=$first_letter; 
       $letter=$first_letter; 
      } 
      $alphabetic[]=$child; 
     } 

     ?> 

     <table style="border:none;"> 
      <tr> 

      <?php 

      $col = 4; //how many columns 

      for($i = 0; $i < $col; $i++) { 

       echo '<td style="border:none;">'; 

        $nr = (int)(sizeof($alphabetic)/4); 
        $i == $col - 1 ? $end = sizeof($alphabetic) : $end = $nr*($i+1); 

        for($j = $nr*$i; $j < $end; $j++) { 
         if(strlen($alphabetic[$j]->post_title)==1) 
          echo '<b>', $alphabetic[$j]->post_title, '</b><br />'; 
         else 
          echo '<a href="'.get_permalink($alphabetic[$j]->ID).'">'.$alphabetic[$j]->post_title.'</a><br />'; 
        } 

       echo '</td>'; 

      } ?> 

      </tr> 
     </table> 

    </div><!-- #content --> 
</div><!-- #container --> 

<?php get_sidebar(); ?> 
<?php get_footer(); ?>