Функция ниже помогает создать алфавитный указатель в цикле WordPress, который вы можете применить, например, на страницах архива или категорий.
/**
* Функция возвращает алфавитный указатель указанной категории
* @version 2.0
* @param int $cat - id категори
**/
function get_category_alphabet(int $cat = 1) {
$posts = get_posts([
'orderby' => 'title',
'order' => 'ASC',
'category' => $cat,
'numberposts' => 999,
]);
$prev_letter = $out = '';
foreach ($posts as $post) {
if (!$post->post_title) {
continue;
}
$letter = mb_strtoupper(mb_substr($post->post_title, 0, 1));
if ($letter != $prev_letter) {
$out .= '<li><span class="letter">' . $letter . '</span>';
$prev_letter = $letter;
}
$out .= '<a href="' . get_permalink($post->ID) . '">' . $post->post_title . '</a>';
}
return '<ul class="alphabet">' . $out . '</ul>';
}
echo get_category_alphabet(1); // тут вместо 1 указываете id нужной категории
За функцию — огромное спасибо пользователям форума SearchEngines.guru.