Flector

Как удалить из вывода the_category указанные рубрики?

Пример удаления рубрик

Практически все темы WordPress для вывода рубрик записи используют функцию the_category(). Что делать, если вы не хотите выводить весь список рубрик, присвоенных записи? Можно, конечно, заменить функцию the_category на какой-нибудь свой код, выводящий рубрики. Но лучше всего фильтровать вывод именно функции the_category, а не писать свой собственный "костыль". Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

//удаление из вывода the_category указанных рубрик start
function wph_the_category_filter($thelist,$separator=' ') {
    if(!is_admin()) {
        //названия рубрик для исключения
        $exclude = array('RSS', 'Записи', 'Комментарии');
        $cats = explode($separator,$thelist);
        $newlist = array();
        foreach($cats as $cat) {
            $catname = trim(strip_tags($cat));
            if(!in_array($catname,$exclude))
                $newlist[] = $cat;
        }
        return implode($separator,$newlist);
    } else
        return $thelist;
}
add_filter('the_category', 'wph_the_category_filter', 10, 2);
//удаление из вывода the_category указанных рубрик end

Обратите внимание: рубрики надо указывать только через их название.


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

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