Облако меток WordPress без inline стилей

Мне нравится пользоваться штатными функциями и виджетами WordPress, в них заложен огромный потенциал и многое из того, что другие авторы сайтов делают громоздкими плагинами можно сделать с помощью родных возможностей WordPress. Я считаю это лучшей практикой использования WordPress

Один из ярких примеров — так называемое “Облако меток”. Виджет позволяющий вывести в область любого сайдбара перечень названий меток или категорий, в зависимости от выбранной таксономии. Благодаря этому виджету у посетителей сайта появляется дополнительный элемент навигации. Просто, удобно и модно-современно.

К сожалению, у него есть два важных недостатка, на мой взгляд. Первый заключается в том, что не смотря на то, что это, по сути, список значений, WordPress его упорно делает кучей элементов ссылок a оборачивая их блоком div. Второй — наличие inline стилей с font-size. Размер шрифта указывает на популярность метки у автора. Решение для первого я пока не искал, а вот для второго есть удачное решение найденное на stackoverflow и немного откорректированное мной.

add_filter('wp_generate_tag_cloud', 'style_remove_tag_cloud',10,3);

function style_remove_tag_cloud($tag_string){
   return preg_replace("/style='font-size:.+pt;'/", '', $tag_string);
}

Этот код необходимо разместить в файле functions.php используемой темы.

Зачем это нужно делать? Ну во первых, есть мнение, что inline стили отрицательно влияют на оценку качества сайта поисковыми системами, не знаю наверняка, но, как говорится — ОБС. Во вторых, для переопределения размера шрифта силами css, в случае с inline стилями приходится использовать !important, что стоит делать только если нет альтернативы. Переопределять приходится в том случае, если дизайном сайта не предусматривается изменение размера шрифта текста облака меток. Вышеприведенный код легко решает эти две проблемы.

Опубликовано

Обратите внимание на предыдущие записи: