Flector

Как вывести все метки сайта в алфавитном порядке?

Начало списка меток в алфавитном порядке

Вывод списка всех меток сайта в алфавитном порядке вовсе не обязательно реализовать через какие-либо посторонние плагины. Можно воспользоваться небольшим шорткодом [alltags], который вы можете вставить в любую запись или страницу вашего сайта. Этот шорткод выведет список всех меток сайта в алфавитном порядке (сначала метки на английском, затем метки на русском). Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

//шорткод [alltags] выводящий все метки сайта start
function wph_alltags_shortcode($atts, $content) {
    $posttags = get_tags();
    if($posttags) {
        $output = '<dl class="alltags">';
        foreach($posttags as $tag) {
            $l = mb_strtoupper(mb_substr($tag->name,0,1,'UTF-8'),'UTF-8');
            if ($L != $l) {
                if ($L) $output .= '</dd>';
                    $L = $l;
                    $output .= '<dt>'.$L.'</dt><dd>';
            }
                $output.='<a href="/tag/'.$tag->slug.'">'.$tag->name.'</a> '; 
        }
        $output .= '</dl>';
    }
    return $output;
}
add_shortcode('alltags', 'wph_alltags_shortcode');
//шорткод [alltags] выводящий все метки сайта end

При желании, конечно, можно использовать шорткод [allcats] для вывода рубрик:

//шорткод [allcats] выводящий все рубрики сайта start
function wph_allcats_shortcode($atts, $content) {
    $categories = get_categories();
    if($categories) {
        $output = '<dl class="allcats">';
        foreach($categories as $cat) {
            $l = mb_strtoupper(mb_substr($cat->name,0,1,'UTF-8'),'UTF-8');
            if ($L != $l) {
                if ($L) $output .= '</dd>';
                    $L = $l;
                    $output .= '<dt>'.$L.'</dt><dd>';
            }
                $output.='<a href="/tag/'.$cat->slug.'">'.$cat->name.'</a> '; 
        }
        $output .= '</dl>';
    }
    return $output;
}
add_shortcode('allcats', 'wph_allcats_shortcode');
//шорткод [allcats] выводящий все рубрики сайта end

Как и метки, рубрики будут выведены в алфавитном порядке.


Комментарии (2 комментария)
  1. Не подскажите, как вывести число записей для каждой метки? Атрибут , кажеться, show_count. Но куда его прикрутить не пойму)

  2. Использовал этот код в одном проэкте, как добавить меню для сортировки и числа?

Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!