Удаляем описание рубрик (description) при наведении мыши на пункты меню

В некоторых случаях появляется необходимость добавить описание к рубрикам сайта, чтобы оно выводилось именно на странице раздела. Это можно сделать разными способами, но обычно добавляют в админ-панели на вкладке «Рубрики» в специально созданное для этого поле ввода (description). А в самой теме в файле шаблона category.php или archive.php описание выводится через функцию <?php echo category_description(); ?>.

В принципе ничего плохого в этом нет, но когда в сайдбаре через виджет выводите все категории сайта, то можно обнаружить один недочет. Дело в том, что описание рубрик автоматом определяется как title ссылки и когда навести курсор мыши на один из пунктов меню, показывается tooltip (подсказка ссылки) в виде всего описания категории, добавленной ранее.

Вот эта деталь не совсем правильная. Есть два варианта ее решения, которые сейчас рассмотрим. Первый заключается в фильтре для полного удаления тега title в виджете рубрик. Вам нужно добавить лишь функцию ниже в файл functions.php вашей темы.

//Удаляем title в виджете "рубрики"
function wp_list_categories_remove_title_attributes($output) {
    $output = preg_replace('` title="(.+)"`', '', $output);
    return $output;
}
add_filter('wp_list_categories', 'wp_list_categories_remove_title_attributes');
/* end */

Второй заключается в использовании функции wp_list_categories(), которая выводит рубрики сайта в виде ссылок. У нее есть достаточно параметров для настройки дополнительных возможностей. Но вначале сделаем поддержку php в сайдбаре, чтобы не лезть в шаблон файла, а затем в разделе «Виджеты» в текстовый виджет помещаем такой фрагмент кода:

<ul class="cat_widgete">
<?php wp_list_categories('show_count=1&use_desc_for_title=0&title_li=&exclude=76,5'); ?>
</ul>

Давайте чуток его разберем:

show_count=1
– показать количество записей в категории (1 – да, 0 – нет)
use_desc_for_title=0 – показать title ссылки (описание рубрики) при наведении мыши (1 – да, 0 – нет)
title_li= — удаляем заголовок по умолчанию (рубрики)
exclude=76,5 – исключаем определенные категории из списка, если нужно

Теперь можно стилизовать индивидуально весь этот список через класс ul.cat_widgete.

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *