Блогролл в wordpress – функция wp_list_bookmarks
Блогролл – это список дружественных ссылок проекта. Формироваться он может из различных побуждений – то ли взаимный обмен, то ли дань уважения каким-то гуру из вашей ниши, то ли просто линки на интересные проекты. Иногда места в блогролее выступают в качестве призов конкурсов или акций, либо могут быть проданы. Кое-какие мысли по этому поводу можно почитать в моей статье за 2007 год – все о блогролле – зачем и как лучше его делать. Там же в конце статьи есть ссылка на еще одну заметку о том, как можно сделать отображение блогролла в админке более удобным с помощью правки кода системы. Следует заметить, что сейчас, конечно, этот хак бесполезен, так как за 2 года разработчики внесли нужные изменения сами. Поскольку блогролл не во всех шаблонах wordpress настроен оптимально (лично для меня), то есть смысл рассмотреть несколько моментов, что могут улучшить ситуацию.
Во-первых, если кто не знал, то редактировать и добавлять ссылки в блогролл вы можете в разделе админки «Ссылки». Там же можно создавать целые рубрики (группы ссылок) в случае необходимости.

Для каждой ссылки вы можете указать описание, название, урл, определить тип отношения и даже задать изображение и rss адрес. Возможностей вполне достаточно.
Чтобы всеми ими воспользоваться нам нужно изучить и применить функцию wp_list_bookmarks. Она имеет следующие параметры:
- categorize – отображение ссылок по категориям или нет (тип boolean, то есть 1 – да, 0 – нет);
- category – перечень ID отображаемых категорий, если значение не определено, то выводятся все категории в блогролле;
- exclude_category – список ID категорий, которые исключены и не отображаются;
- category_name – имена и названия категорий, что должны быть выведены в блогролее;
- category_before – текст перед каждой категорией, по умолчанию это <li id="[category id]" class="linkcat">;
- category_after– текст после категорий, по умолчанию </li>;
- class – класс для тега li каждой из категорий, по дефолту – linkcat;
- category_orderby – параметр сортировки категорий: по имени (name), по id (id), по тексту ссылки в url (slug), количеству (count) и некий term_group;
- category_order – тип сортировки по увеличению или уменьшению;
- title_li – текст заголовка. Очень важный параметр – по умолчанию отображается значение Bookmarks и только есть параметр categorize = 0, тогда будет показан заголовок. Когда title_li установлен в значение null (0), то блогролл не будет «оборачиваться» в теги ul;
- title_before и title_after – текст до и после заголовка категории;
- show_private– отображение приватных ссылок;
- include и exclude – перечень ID ссылок через запятую, которые нужно включить или соответственно исключить из отображения. При использовании этого параметра игнорируются category, category_name;
- orderby – параметр сортировки ссылок в блогролле – id, url, name (по умолчанию), target, description, owner (пользователи, добавившие ссылку через bookmarks Manager), rating, updated, rel, notes, rss, length (длинна ссылки), rand (случайная выборка);
- order – характер сортировки ссылок по уменьшению или увеличению;
- limit – максимальное число ссылок для отображения, по умолчанию «-1» (все ссылки);
- before и after – текст перед и после каждой ссылки, по дефолту это теги списка li;
- link_before и link_after – текст до и после закладок внутри ссылки (тега a);
- category_before и category_after – код до и после каждой категории, по дефолту li;
- between – код между изображением и описанием ссылки, по умолчанию это \n – перевод на новую строку;
- show_images– задает отображать картинки ссылок или нет;
- show_description – показывать описание ссылки или скрывать;
- show_name – отображает текст ссылки (работает если show_images = true);
- show_rating – показывать рейтинг ссылок;
- show_updated – выводить дату последнего обновления;
- hide_invisible – прятать невидимые ссылки или нет;
- echo – отображать ссылки в блогролле.
Вот такой совсем небольшой списочек настроек у функции wp_list_bookmarks.
Теперь парочку практических примеров для закрепления материала. В данном блоге я использую код:
<?php wp_list_bookmarks('orderby=name&categorize=0&title_li=Друзья проекта&title_before=<div class="h2title">&title_after=</div>&category_before=&category_after='); ?>
Здесь закладки отображаются по имени, отключено отображение по категориям (у меня всего одна), что дает возможность избавиться от вывода названия этой самой категории в качестве заголовка блока. Вместо этого у меня выводится текст «Друзья проекта», который заключен в div с нужным мне стилем. Также я убрал все стили перед и после категории.
Еще прикольные примеры из кодекса (там все подробно на английском есть). Вывод рейтинга и даты обновления:
<ol> <?php wp_list_bookmarks('between=<br />&show_images=0&orderby=id&show_rating=1&show_updated=1'); ?> </ol>
Здесь описания закладок отображаются с новой строки, без использования картинок, сортировка по id.
Следующий пример – замена заголовка на изображение:
<?php wp_list_bookmarks('categorize=0&title_li=<img src="'.get_bloginfo("stylesheet_directory").'/images/blogroll.gif" alt="blogroll" />'); ?>
Выводи специальную картинку вместо текстового заголовка блогролла. Да красивых и оригинальных дизайнов – то, что нужно.
Комментариев - 9 к статье “Блогролл в wordpress – функция wp_list_bookmarks”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Плагин WPML – мультиязычность и локализация wordpress сайта
- Добавление кнопки Вконтакте, Facebook и Twitter в wordpress блог
- Оригинальные бесплатные шаблоны для Wordpress
- Улучшаем страницу с результатами поиска в wordpress
- Последние сообщения twitter в wordpress блоге
- Плагин jQuery Image Lazy Loader WP – постепенная загрузка изображений
- Отказ от PHP 4 и MySQL 4 для WordPress 3.2
- Добавление ссылок nofollow в blogroll блога
- Сервис keyCaptcha – интерактивная каптча для защиты от спама
- Убираем ненужный текст из атрибута title для ссылок категорий
- Безопасность (2)
- Видео (4)
- Возможности (28)
- Начинающим (11)
- Новости (14)
- Оптимизация (6)
- Плагины (29)
- Сервисы (6)
- Хаки и секреты (22)
- Шаблоны (7)

Категории:
Теги:
Хм, спасибо :) Как раз практикую у себя в шаблоне, все важные элементы вписывать ручками в шаблон :)
Вот еще плагинчик есть похожий – 0xtc.com/2009/04/22/wp-render-blogroll-links-plugin.xhtml
masya, плагин делает все то же самое, что можно сделать без него – я бы рекомендовал разок разобраться с функцией wp_list_bookmarks и создавать блогролл самостоятельно.
Добрый день!
Подскажите, где можно задать параметр выравнивания изображения ссылки: типа alignleft ? В админ панеле не нашел. Если «ручками», то ГДЕ ? Помогите, плиз.
Максим, можно подправить отображение разве что в CSS.
Tod, спасибо за ответ. но в каком именно файле css? В файле css мое темы ничего подобного нет. Поискал в css дистибутива самого wordpress – тоже не нашел. Спасибо за помощь
мне кажется проще плагин взять …. имхо
Валерий спасибо. Я уже всё организовал при помощи простого текстового виджета, написав там html код с необходимыми параметрами, а не использовал виджет ссылок :)
После этой статьи решил включить блогролл в новой теме оформления для своего блога. В старом шаблоне его небыло.