WordPress и гибкая настройка вида облака меток

Описание проблемного момента

Представим типовой случай. У вас на руках оказалась качественная, красивая, грамотная и т.д. и т.п. HTML верстка, которую необходимо портировать в готовую к использованию на сайте тему оформления для WordPress. А подводные камни здесь к примеру начинаются с темизации-кастомизации стандратного виджета облака меток. Вертска выводит его ненумерованным списком, а система обычным перечислением соответсвующих ссылок, наверное "ой бяка", - скажете вы. Неужели придется вместе с новым шаблоном новый виджет, дублирующий функционал стандартного, писать? Или, что ещё хуже утруждать неумелых пользователей вписывать вывод облака меток вручную правкой кода sidebar-ов, ай-ай им же придется запоминать параметры вызова wp_tag_cloud(), API разучивать-почитывать, ай-ай-ай, как нехорошо получается. Не волнуйтесь далее я покажу пример фильтра, перехватывающего дефолтный набор параметров вывода.

Решение поставленной задачи

Как обычно приписываем к "functions.php" создаваемой темы:

<?php
/**
 * Перезапись стандартного виджета облака меток.
 */
add_filter('widget_tag_cloud_args', 'TemplatebName_tag_cloud');

function TemplatebName_tag_cloud($args)  {
  $args = array(
    'smallest' => 11, // Минимальный размер символов.
    'largest' => 11, // Максимальный размер символов.
    'unit' => 'px', // Единицы измерения размера шрифта: пиксели.
    'format' => 'list' // Списком.
  );	
  return $args;
}
?>

Пример хука приведен для моего случая. Как все работает? На вход отлавливаем массив аргументов функции wp_tag_cloud(), которая используется "вордпрессным" виджетом облака тегов. На выход возвращаем практически тот же разве, что чуть-чуть модифицированный список параметров. Полный набор аргументов перечислять не буду, - кому очень надо читайте "движковый" Кодекс, там все это есть, ну кроме полного описания приведенного в сей статье крючка.

Результат проделанной манипуляции

У меня он зависел от стилей и разметки, последниюю я программно подвел под необходимый мне вид:

WordPress облако меток

P.S. Идея писать свой виджет по простой причине пары несоответсвий HTML разметки даже не рассматривалась, т.к. это уже перебор получится.





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.