Как вывести все метки сайта в алфавитном порядке?
Вывод списка всех меток сайта в алфавитном порядке вовсе не обязательно реализовать через какие-либо посторонние плагины. Можно воспользоваться небольшим шорткодом [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 |
Как и метки, рубрики будут выведены в алфавитном порядке.
Не подскажите, как вывести число записей для каждой метки? Атрибут , кажеться, show_count. Но куда его прикрутить не пойму)
Использовал этот код в одном проэкте, как добавить меню для сортировки и числа?