Alexander Dichev Weblog Home
  Блог              
  Времето              
  Панорами              
  Галерия              
  Директория              
  Уебдизайн              
  Контакт              
 
 
Weblog
 

        Уеблог  

Как да си напишем собствен WordPress plugin?

Други статии:
DStv   «  [ • ]  »   Скрита камера




Social bookmarks buttons plugin for WordPress

  Изтеглете плъгина  

Add Me Dichev (Изтеглете .ZIP архив)

Английски English

В статията ще Ви разкажа, как много лесно, просто и бързо да си напишете сами свой собствен плъгин за WordPress.

Поради актуалността на темата за Социалните Мрежи избрах плъгин, които автоматично да генерира бутони след поста, за добавянето му в различните социални мрежи.

Wordpress social bookmarks buttons plugin

Преди известно време разговаряхме с Миглен на тази тема и може да се каже, че идеята е негова.

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

След като събрах списъка на социалните мрежи, ми стана ясно, че не всеки желае всичките бутони за Social bookmarks в блога си и е по-добре да Ви обясня, как сами да си ги конфигурирате и как да добавите такива, за които аз не сам се сетил. Ако пък и това Ви е ясно, можете просто да използвате вече готовия списък социални мрежи и иконките за бутоните от моя плъгин и да си го модифицирате както намерите за добре.

Ако мислите, че няма да се справите сами, можете да изтеглите и инсталирате вече готовите бутони. Неоходими са само три стъпки. Мисля, че няма да Ви отнеме повече от 10 минути.

  1. Изтеглете архива с плъгина за WordPress от тук:
    Add Me Dichev (Изтеглете .ZIP)

  2. Разархивирайте съдържанието му в директорията на Вашия блог:
    /wp-content/plugins/

  3. В админа на WordPress блога активирайте плъгина:
    Plugins » Add Me Dichev » Activate

Активиране на Add Me Dichev плъгина от Админ панела

Списък с поддържаните от плъгина мрежи:
addthis.com, blinkbits.com, blinklist.com, blogmarks.net, blogmemes.net, bluedot.us, bloglines.com, co.mments.com, connotea.org, del.icio.us, de.lirio.us, digg.com, diigo.com, dzone.com, facebook.com, feedmelinks.com, folkd.com, fleck.com, google.com, icio.de, indianpad.com, leonaut.com, linkagogo.com, linkarena.com, linkter.hu, ma.gnolia.com, mister-wong.de, url.com.tw, ask.com, yahoo.com, netscape.com, netvouz.com, newsgator.com, newsvine.com, oneview.de, rawsugar.com, reddit.com, rojo.com, segnalo.alice.it, shadows.com, simpy.com, slashdot.org, smarking.com, sphere.com, spurl.net, startaid.com, stumbleupon.com, tailrank.com, technorati.com, thisnext.com, yigg.de, webnews.de, readme.ru.

Българските социални мрежи:
svejo.net, dao.bg, ping.bg, pipe.bg, web-bg.com, dobavi.com, lubimi.com.




За тези, които желаят да направят промени по Add Me Dichev WordPress social bookmarks buttons plugin, в следващите редове ще Ви обясня накратко как работи всичко и как да добавите или премахнете бутони след постовете в блога Ви.

  • Изтеглете плъгина и го разархивирайте.

  • Архивът съдържа README.txt, папката /images/ с иконките на бутоните и файла addme_dichev.php, който извършва цялата работа.

  • Oтворете addme_dichev.php в текстов редактор.

В началото на файла виждате функцията function add_me($content), която плъгинът извиква към края на поста за да генерира бутоните. Идеята на тази функция е да добави URL-а (адреса) и заглавието на поста към адресите за добавяне на пост към различните социални мрежи. В условието има две специфични неща, адресът и заглавието на всеки пост са различни, както и адресите за добавяне на различните Social bookmarks уебсайтове. След мако ще разберете, как да се справите с това.

Add Me Dichev WordPress social bookmarks buttons plugin source

Първо извикваме глобалната WordPress променлива global $post;, която съдържа данните за всеки конкретен пост. От нея малко по-надолу в кода ще заредим адреса и заглавието на поста, който посетитеят разглежда.

Следват няколко променливи за настройка, чрез които Вие можете да направите основни елементарни промени на начина, по който ще се подредят бутоните. Не е необходимо да ги променяте ако не искате.

$my_width е ширината на блока с бутоните в пиксели. Целта и е да фиксира ширината на групата от бутони, която се разполага в <DIV>, ако не пасва на дизайна на Вашия блог. Може да бъде в пиксели или проценти. Например:

$my_width = ´100%´;
или
$my_width = ´450px´;

$my_align е подравняването на блока с бутоните. Може да бъде наляво, надясно или центрирани. Например:

$my_align = ´left´; (в ляво)
или
$my_align = ´right´; (в дясно)
или
$my_align = ´center´; (центрирани)

Следва още една променлива $my_images_folder, която съдържа пътя до директорията с иконките за бутоните.

$my_images_folder = get_settings(´home´)
. ´/wp-content/plugins/add-me-dichev/images/´;

Специфичното тук е, че използваме функцията на WordPress get_settings(´home´) за да установим, къде е инсталиран блога. Тя връща адреса на блога (например: http://dichev.com/blog/) и в конкретния случай така го добавяме към пътя до картинките в плъгин директорията.

Не е необходимо да се променя. Целта и е да можете лесно да промените адресите на иконките ако искате да използвате друга директория.

Чрез фунциите на WordPress get_permalink() и get_the_title() получаваме от глобалната променлива $post адреса и заглавието на конкретния пост, който посетителят разглежда, и присъединаваме стойностите на наши локани променливи $my_link и $my_title.

$my_link = get_permalink($post->ID); (адреса)
$my_title = get_the_title($post->ID); (заглавието)

Както вероятно се досещате $post->ID е ID-то на конкретния пост.

И така достигаме до съществената част…
Правим малка проверка за да се уверим, че посетителят се намира на пост, а не на страница и RSS-feed:

if ( !is_feed() && !is_page() ) {

WordPress функциите is_feed() и is_page() връщат TRUE (истина), ако е отворен съответно фийд или пост.

Ако наистина е пост, най-накрая започваме да пишем в променливата $content това, което искаме да покажем след поста. В нашия случай това кода за бутоните за социални мрежи.

Add Me Dichev WordPress social bookmarks buttons plugin source

Всеки един ред представлява кода за един от бутоните. Синтаксисът е много важен, затова ако добавяте нови бутони, се уверете, че сте копирали кода на работещ бутон от файла и го модифицирайте, спазвайки образеца на останалите бутони.

Ако желаете да скриете някои бутони и те да не се показват повече след поста, коментирайте реда на съответния бутон с // (две наклонени чертички) пред него.

За да добавите нов бутон, създайте един ред за него по образец на реда на вече работещ бутон. Всяка социална мрежа си има собствена конвенция за образуването на адреса. Най често са от вида на:

http://domain.com/addpost?url=ADDRESS&title=TITLE

Като е необходимо да заместите ADDRESS и TITLE с адреса и заглавието на поста Ви.

След като в началото на функцията заредихме адреса и заглавието на поста в нашите локални променливи $my_link и $my_title, вече можем да ги заместим на мястото на ADDRESS и TITLE в построяването на адреса на бутона.

http://domain.com/addpost?url=´.$my_link.´&title=´.$my_title.´

Приемаме, че сте въвели адреса (href=" ….. ") на мрежата правилно. На всеки нов бутон трябва да ъплоуднете в директорията с иконките новата му картинка и да попълните името й (например: new_button.gif) и съответно TITLE на линка, ALT и TITLE на иконката.

Ако коментирате бутоните на всички социални мрежи с изключение на българските, например, ще се получи това:

Wordpress social bookmarks buttons plugin

Това е. Надявам се материалът да Ви е бъде полезен.
Желая Ви късмет и успех!




Тагове: , , , , , ,

Не забравяйте да се абонирате за RSS новини от блога ми:

Subsribe to feeds       Subscribe by Email or IM
Add This! del.icio.us Digg.com StumbleUpon.com Technorati.com   Dao.bg Ping.bg Pipe.bg Svejo.net Web-bg.com




3 коментара към статията:
Гюро

1 ]   Гюро   (2007-11-12 @ 17:23)


Много ми хареса плъгина и въобще описанието.
Супер!!!!



blacksnoopy

2 ]   blacksnoopy   (2007-11-27 @ 1:21)


Сега видях плугина в http://wordpress.org/extend/plugins/add-me-dichev/
Супер е.. :)



Дичев

3 ]   Дичев   (2007-11-27 @ 1:32)


Благодаря, blacksnoopy!





Вашият коментар:
(Моля, пишете на Кирилица!)

Текст за разпознаване Моля, въведете 5-те символа от картинката.
Цифри от 0 до 9 и букви от A до F.




 Предвижи се до началото на тази страница. (Горе)      Отиди в началото на този уебсайт.      Добави тази страница в списъка ми с Favorites. (Ctrl+D)



Блог   Времето   Панорами   Галерия   Уебдизайн   Директория   Контакт

© 2008 - Дичев, Александър - България, Варна - Credits -
Panoramas | Gallery | Link popularity | World time | Forecast | Weather | Moon
Home | Sitemap | Blogmap | Dirmap

10 x visitors online online