<?php
// Определяем текущую категорию.
$the_cat_id = get_queried_object_id();
// Задаём массив параметров для пользовательского запроса WP_Query.
$args_az = array(
'post_type' => 'logos',
'post_status' => 'publish',
'numberposts' => -1,
'tax_query' => array(
array(
// Таксономия 'news_cat'.
'taxonomy' => 'newscat',
'field' => 'id',
'terms' => $the_cat_id,
),
),
);
// Запрос WP_Query функцией get_posts().
$query_az = get_posts( $args_az );
// Перебираем каждый заголовок записи, отобрав первую букву в массив '$all_titles_arr'.
$all_titles_arr = array();
foreach ( $query_az as $post_az ) :
setup_postdata( $post_az );
$the_title = get_the_title( $post_az->ID );
$all_titles_arr[] = mb_strtolower( mb_substr( $the_title, 0, 1, 'UTF-8' ) );
endforeach;
wp_reset_postdata();
// Формируем массив из списка букв от 'a' до 'z'.
$az_range_arr = range( 'a', 'z' );
// Подготовка различных классов для подсветки кнопок навигации.
foreach ( $az_range_arr as $letter ) :
$letter_status = '';
// Существует ли данная буква в массиве 'all_titles_arr'.
if ( ! in_array( $letter, $all_titles_arr, true ) ) :
$letter_status .= ' disabled';
endif;
// Совпадает ли буква с текущим параметром GET массива.
if ( isset( $_GET['az'] ) && $letter === $_GET['az'] ) :
$letter_status .= ' active';
endif;
?>
<li class="page-item<?php echo esc_attr( $letter_status ); ?>"><a class="page-link text-uppercase" href="<?php echo esc_url( add_query_arg( 'az', $letter, 'http://test.danilsmg.ru/logos/' ) ); ?>"><?php echo esc_html( $letter ); ?></a></li>
<?php
endforeach;
$all = '';
// Если отсутствует параметр $_GET['az'], деактивировать кнопку "Все".
if ( ! isset( $_GET['az'] ) ) :
$all = ' disabled';
endif;
?>
<?php
$the_cat_id = get_queried_object_id();
$az_range_arr = range( 'a', 'z' );
foreach ( $az_range_arr as $letter ) : ?>
<li class="page-item"><a class="page-link text-uppercase" href="<?php echo esc_url( add_query_arg( 'az', $letter, 'http://test.danilsmg.ru/logos/' ) ); ?>"><?php echo esc_html( $letter ); ?></a></li>
<?php endforeach; ?>
Выводим первую букву алфавита на странице archive.php в заголовке
<?php $title = get_the_title(); echo mb_substr($title,0,1); ?>