maxim_tsyplenkov
@maxim_tsyplenkov

Поиск категорий и таксономий по алфавиту. Алфавитный указатель. Как исправить маленькую ошибку?

Здравствуйте.
Есть код который выводит рубрики на сайте в алфавитном порядке.
Сам код который ниже работает нормально.

Но, при выводе рубрик он не выводит на них ссылки (просто выводит список рубрик)

<?php
/*
Template Name: artists
*/
get_header();

/* Контент */

$abc_rus = array();
foreach (range(chr(0xC0), chr(0xDF)) as $b) {
$abc_rus[] = iconv('CP1251', 'UTF-8', $b);
}
foreach ($abc_rus as $lette_rus) {
echo '<li><a href="/artists/?letter='.$lette_rus.'">'.$lette_rus.'</a></li>'; // artists.html - меняем на свой адрес
}


for ($i=ord('A'); $i<=ord('Z'); $i++){
echo '<li><a href="/artists/?letter='.chr($i).'">'.chr($i).'</a></li>'; // artists.html - меняем на свой адрес
}


for ($i = 0; $i<=9; $i++){
echo '<li><a href="/artists/?letter='.$i.'">'.$i.'</a></li>'; // artists.html - меняем на свой адрес
}


// возьмем только 1 буквы из get запроса в кодировке utf-8

$letter = mb_substr($_GET['letter'], 0, 1, 'utf-8');

// Сделаем данную букву заглавной
$letter_upp = mb_strtoupper($letter, 'UTF-8');



// Получаем все категории. Можно заменить "category" на вашу таксономию.

// Сортируем по названию в порядке убывания. Также не будем показывать категории у которых нет записей.

$terms = get_terms("category", 'orderby=name&hide_empty=0&order=ASC');

// Проверяем есть ли у нас на сайте есть категории
$count = count($terms);
if ($count > 0) {
echo "<ul class='new_singer'>";

// Перебираем массив со всеми категориями
foreach ($terms as $term) {

// Берем первую букву категории
$artist_name_letter = mb_substr($term->name, 0, 1, 'utf-8');

// Сравниваем без учета регистра искомую букву с первой у категории
if( strnatcasecmp ($letter_upp, $artist_name_letter) == 0){

/* выводим название категории которая подходит */
echo "<li>". $term->name . "</a></li>";
}
}
echo "</ul>";
}

get_sidebar();
get_footer();
?>


Подскажите, как сделать чтобы рубрики которые выводятся были ссылками?

Явно в этом куске что то пропущено)
/* выводим название категории которая подходит */
echo "<li>". $term->name . "</a></li>";
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы