Рубрика: Рубрики

Как убрать с главной страницы и RSS записи рубрики?

Зачастую бывает необходимо убрать записи каких-то рубрик сайта от вывода на главной странице и из RSS-лент. Например, это нужно, если вы не хотите выводить рекламные записи на главной странице сайта. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

//исключение записей рубрик с главной start
function wph_remove_from_home($query) {
    if ($query->is_home) 
        {$query->set('cat','-7,-11');}
    return $query; 
}
add_filter('pre_get_posts','wph_remove_from_home');
//исключение записей рубрик с главной end

Где 7 и 11 это ID рубрик, записи которых надо убрать. Данный сниппет уберет записи указанных рубрик с главной страницы сайта, а для удаления записей одновременно еще и из RSS-ленты надо использовать такой код:

Как сделать число записей в рубрике частью ссылки на рубрику?

Изменение ссылок на рубрики

В некоторых темах используется блочный вывод ссылок в сайдбаре. Из-за этого при использовании в виджете "Рубрики" опции отображения числа записей в рубриках это самое число переносится на новую строку. Самый простейший способ избежать этой проблемы это сделать число записей в рубрике частью ссылки на рубрику.

Как исключить рубрики из стандартного виджета «Рубрики»?

Стандартный виджет рубрик

Стандартный виджет рубрик практически не дает никаких настроек, которые поддерживает функция wp_list_categories. Если вам необходимо вывести виджет "Рубрики" с более тонкой настройкой, то вы можете воспользоваться плагинами вроде NS Category Widget, а можете добавить хак на вывод стандартного виджета.

Как удалить атрибут title из ссылок на рубрики?

Чтобы удалить атрибут title у ссылок на рубрики (всплывающий текст при наведении мышки на ссылку рубрики) надо вставить в functions.php вашей темы код:

//удаление атрибута title из ссылок start
function remove_title_attributes($input) {
    return preg_replace('/\s*title\s*=\s*(["\']).*?\1/', '', $input);
}
add_filter('wp_list_categories', 'remove_title_attributes');
add_filter('the_category', 'remove_title_attributes');
//удаление атрибута title из ссылок end

При любом выводе рубрик через функции wp_list_categories и the_category (напрямую или виджетом) атрибуты title будут вырезаны. Точно также можно поступить с любыми ссылками в WordPress. Например, для удаления title из ссылок на метки надо к указанному выше коду добавить строчку:

add_filter('wp_tag_cloud', 'remove_title_attributes');

И в облаке меток атрибут title больше выводиться не будет.