将分类名称显示为按字母顺序显示


To display the Taxonomy name as Alphabetically

我已经将自定义分类的类别显示为按字母顺序显示,如下所示。

A
acategoryone
acategorytwo
acategorythree
B
bcategoryone
bcategorytwo
bcategorythree
C
categoryone
categorytwo
categorythree

代码是这样的

<?php
$groups = array();
if  ($categories) {
  foreach ($categories  as $category ) {
    $first_letter_tax = $category->name ;
    $first_letter = strtoupper( $first_letter_tax[0] );
    $groups[ $first_letter ][] = $category;
  }
}
ksort($groups);
if( !empty( $groups ) ) {
    foreach ($groups as $letter => $tags) {
        echo '<ul class="tax-name-letter '.strtolower($letter).'">';
            echo '<strong>'.$letter.'</strong><br />';
            foreach( $tags as $taxonomy ) {
                $term_link = esc_url(get_term_link( $taxonomy )); 
                echo '<li><a href="'.$term_link.'">'. $taxonomy->name . '</a></li><br />';
            }
        echo '</ul>';
    }
}
?>

我想要这样

A - C
acategoryone
acategorytwo
acategorythree    
bcategoryone
bcategorytwo
bcategorythree
categoryone
categorytwo
categorythree
D - F
dcategoryone
dcategorytwo
dcategorythree    
ecategoryone
ecategorytwo
fcategorythree

我想显示如上所示的类别。就像我想在第一列"ul"中显示 A 到 C,在第二列中显示 D 到 F......

在循环中帮助我。我怎样才能得到这个?请帮助我。

看看这个例子:

<?php
$groups = array('A to C'=>range('a','c'), 'D to F'=>range('d','f'));
$taxonomy = array('asdf', 'dfa', 'fasd','basdf', 'chfd','eadf', 'easdf', 'asdf','iasdf','oasdf','cafghsd','cafe');
$data_collector = array();
foreach($groups as $key=>$group) {
    $data_collector[$key] = array();
    foreach($group as $char) {            
        foreach($taxonomy as $val) {
            if( $val[0] == $char ) {
                array_push($data_collector[$key], $val);
            }
        }
    }
}
print_r( $data_collector );

演示