У меня есть функция, которая на wordpress сайте выводит все категории в кастомной таксономии, сортируя их по буквам. Выглядит это следующим образом:
<?php
$terms = get_terms( array(
'taxonomy' => 'artist',
) );
foreach( $terms as $k => $term ){
$fl = get_first_letter( $term->name );
$prev_fl = isset( $terms[ ($k-1) ] ) ? get_first_letter( $terms[ ($k-1) ]->name ) : '';
if( $prev_fl !== $fl )
echo $fl;
echo '<li>' . ' <a href="' . get_term_link($term) . '">' . $term->name . '</a> ' . '</li>';
}
}
?>
Выводит она следующее:
A
а категория
а категория 2
B
b категория 3
...
и так далее.
Необходимо, чтобы каждый блок (буква - и все категории на эту букву), были отдельным div классом, например так:
<div class="box-a">
A
а категория
а категория 2
</div>
<div class="box-b">
B
b категория 3
</div>
Например, я могу вывести в отдельный класс каждую букву (заголовок секции) , таким образом:
Заместо
echo $fl;
написать
echo '<div class="letter-' . $fl . '">' . $fl . '</div>';
Тогда каждая буква выглядит на выходе так:
<div class="letter-b">B</div>
b категория 3
Тоже самое могу сделать с каждым элементом списка, прописав таким же образом класс для каждого
<li>
, но это не совсем то, что нужно.
Необходимо именно так сделать , чтобы каждая секция была отдельным классом, чтобы можно было выводить это не только вертикальным списком, но скомпоновав по-разному, вертикально и горизонтально через css.
Надеюсь , вопрос понятно описал. Большое спасибо за ответ.