Here I come, there I am.

 

Преди малко нанесох някои промени в блогрола. Използвах един много полезен widget, който намерих и ще използвам напред.

Лични мотиви

Блоговете в Google reader-а ми продължават да растат и намирам за редно да линкна всички тях в блогрола. От друга страна, не намирам за уместно да изтипосам 50+ линка на едно място, защото сайта ми ще стане като страница-подкаталог на Start.bg.

Затова ползвам една нова приставка, която претърсва категориите за линкове от вашия блог и създава нов панел - блогрол, с произволни линкове.

Тъй като за час преместих много линкове от едно място на друго, от категория в друга и прочие - ако някой се чувства засегнат, че го няма в някоя категория, или съм му пропуснал линка - да ми драсне един коментар.

Ако искате да минете от динамичния блогрол в статичния пък - драснете един коментар или в страницата за контакти. Важното е комуникация да има! :)

Плъгин

Приставката се казва Better Blogroll Widget. Може да я свалите на сайта и да я качите в wp-content/plugins директорията. Аз лично не успях да я инсталирам с новата система на WP 2.7 за инсталация на плъгини по име (имах проблем с хранилището и затова я свалих ръчно).

Както е видимо от сайта, предимствата на плъгина са, че създава блогрол с динамични (ротиращи се) линкове и ги извежда в един панел в страничната лента. Може да ограничавате броя линкове, които се показват - аз лично съм ги сетнал на 20. По този начин на всеки рефреш или всеки уникален посетител ще бъдат показани различни линкове. Така целият ви блогрол ще е видим 'на части'. Намирам го за по-уместно - хем всичките ви блогове са 'на линия', хем не ви заемат половината уебсайт.

Друг benefit е, че може да подберете категорията с линкове, която да ползвате за блогрола. Възможен е изборът на всички Link Categories, на някои конкретно или на всички с изключение на някои.

Отгоре на блогрола има място за коментар - примерно, че сайтовете се зареждат динамично. Хубаво е за уточнение, все пак не е често срещано явление.

Техническа част

 Най-същественото е да свалите, инсталирате и активирате плъгина в блога. Той е активен като widget, така че, ако темата поддържа 'Джаджи', директно го пренасяте в лентата от менюто Appearance -> Widgets.

В настройките на приставката трябва да зададете категориите, които искате да са видими. Има един лек проблем, поне при мен: използвам widget-а Links за лични и приятелски връзки, а новият plugin за блогрол. В стандартната конфигурация на линковете widget-ът извежда всички линкове, вкарани от вас, изведени по категории. Това означава, че ако създадете нова категория Blogroll и добавите в нея всички нови линкове за Better Blogroll, то те ще бъдат дублирани. Нещо повече: Links ще изведе пълният списък, а непосредствено под него ще бъдат видими произволните няколко препратки от Better Blogroll.

Кофти.

Workaround

Необходимо е да премахнем дублираната категория от Links джаджата. По този начин линковете ще бъдат видими само от блогрола, което би било желан ефект.

Някой може да попита какво ще стане, ако зададем на линковете да бъдат Private. Ами, нищо смислено - няма да бъдат видими отникъде.

По принцип можем да редактираме файла на sidebar widget-а, в който се показва цялата информация. Това би работило поне в случаите, в които нямаме поддръжка на widget-и в темата.

В такъв случай търсим в папката на темата sidebar.php, l_sidebar.php или нещо в тоя род. Там търсим за функцията wp_list_cats() (в старите версии) или wp_list_categories(). Възможно е тя да се вика с параметри или без, важно е да добавите изключването на определената категория. За целта ще ви трябва ID-то й. В панела Links -> Link Categories от административното меню избираме някоя от категориите. В адресбара ще видим ID-то на категорията - cat_ID. След това се връщаме към функциите wp_list_cats() или wp_list_categories().

При мен функцията в sidebar.php изглежда така:

<?php wp_list_cats('sort_column=name&exclude=372'); ?>

Едната опция е за сортиране по азбучен ред на линковете, а другата - за ID на категорията, която искам да изключа от списъка. В моя панел има 3 категории: Връзки (лични линкове), Приятелски и Блогрол. ID-то на категорията Блогрол е 372.

Widget-базирана тема

Така. Проблемът е, че този код не работи при мен поради наличие на widget-и. Във файла functions.php на темата има следната декларация:

if ( function_exists('register_sidebar') )
    register_sidebar();

Явно нашият WordPress не използва файла от темата, ами друг файл, базиран на widget-и. След кратко ровене стигаме до wp-includes директорията. Там отваряме widget.php (или widgets.php). Там намират място всички приставки, които използваме, с техния собствен код, филтри и указатели. Търсим за функцията wp_widget_links. Там има различни функции, към които се добавят филтри. В случая трябва да филтрираме категорията, която желаем да изключим - така че я добавяме като допълнителна стойност на масива от филтри. Добавяме аргумента exclude_category с ID-то и крайният резултат изглежда горе-долу така:

wp_list_bookmarks(apply_filters('widget_links_args', array(
		'title_before' => $before_title, 'title_after' => $after_title,
		'category_before' => $before_widget, 'category_after' => $after_widget,
		'show_images' => true, 'class' => 'linkcat widget', 'exclude_category' => '372'
	)));

Запазваме файла и го качваме отново в системата. Widget-ът вече работи, както си му е редът. Трябва само да си припомним за тази корекция, ако правим нова инсталация на блог и искаме същите настройки, или обновяваме wordpress-а.

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • MySpace
  • Slashdot
  • Technorati
  • TwitThis
del.icio.us Digg DZone Facebook Google Google Reader Magnolia reddit SlashDot Technorati ReadMe.ru Dobavi.com Dao.bg Lubimi.com Ping.bg Pipe.bg Svejo.net Web-bg.com

Безподобния пост.

Related posts brought to you by Yet Another Related Posts Plugin.

Comments

4 Responses to “Промяна на блогрола и edit на sidebar-а”

  1. Bunny on March 12th, 2009 21:21

    Здрасти,

    видях се в пола и държа да кажа "Мерси"! :)

  2. admin on March 12th, 2009 21:30

    Пак заповядай - и аз благодаря за линка. :)

  3. Ицката on March 13th, 2009 10:08

    Тенк ю за линка, аз също те аднах в мойто блогче :)

  4. Чистка на абонаментите по мейл : Mario's cosy cavern on March 20th, 2009 17:10

    [...] седмица споменах за промените в блогрола и чистката на част от нещата, които чета. Това се [...]

Leave a Reply