3 марта 2012

sexybookmarks — Plugin для Wordpress. Добавляем кнопки «ВКонтакте» и «Одноклассники»

WordPress
Из песочницы
Сегодня речь пойдет о компоненте для Wordpress – sexybookmarks версии 3.0, а именно, как добавить в этот плагин кнопки «ВКонтакте» и «Одноклассники»

Плагин sexybookmarks на странице WordPress

Для тех, кто еще не знаком с этим плагином, поясню, этот плагин отображает «социальные кнопки» для публикации ваших статей в различные сервисы, такие как «Facebook», «закладки Google», «закладки Яндекс» и т.д.

Чем же примечателен именно этот плагин? Ведь для Wordpress подобных плагинов довольно много… Помимо большого количества встроенных кнопок (87 штук), довольно таки удобной панели настроек и поддержкой русского языка, этот плагин обладает необычным дизайном, который может прийтись по душе ни только вам, но и вашим посетителям.

Скачать плагин sexybookmarks версии 3.0, можно по ссылке: sexybookmarks. Версия 3.0. совместима с Wordpress 3.3.1, проверено на собственном опыте.

Панель настроек sexybookmarks открывается в меню Wordpress «Параметры» => «SexyBookmarks». В панели можно отметить интересующие вас кнопки, добавить атрибут «rel='nofollow'» к анкорам, настроить размещение панели кнопок и настроить внешний вид. Как выглядит страница настроек, можно увидеть на картинке ниже.

Окно настроек плагина SexyBookmarks.

На этом вводную часть завершаю и перехожу к главному – теме статьи.

Как и говорилось раннее, плагин включает в себя 87 встроенных кнопок, но среди них нет тех самых, наиболее популярных в наших краях кнопок «Одноклассники» и «ВКонтакте». Далее по тексту, я объясню как их добавить, ну а тем, кому нет необходимости вникать в процесс добавления кнопок, в конце статьи есть ссылка на скачивания плагина с уже встроенными кнопками.

Шаг 1

Скопируйте иконки sexy-vkontakte.png и sexy-odnoklassniki.png для наших будущих кнопок в папку sexybookmarks\images\icons

Шаг 2

Откройте файл sexybookmarks\includes\bookmarks-data.php и в конец массива $sexy_bookmarks_data добавьте следующие строки:

'sexy-vkontakte' => array(      
	  'check'=>sprintf(__('Check this box to include %s in your bookmarking menu', 'sexybookmarks'), __('VKontakte', 'sexybookmarks')),	  
	  'share'=>__('Share this on ', 'sexybookmarks').__('VKontakte', 'sexybookmarks'),   
      'baseUrl' => 'http://vk.com/share.php?url=PERMALINK&title=TITLE',
    ),
    'sexy-odnoklassniki' => array(      
	  'check'=>sprintf(__('Check this box to include %s in your bookmarking menu', 'sexybookmarks'), __('Odnoklassniki', 'sexybookmarks')),	  
	  'share'=>__('Share this on ', 'sexybookmarks').__('Odnoklassniki', 'sexybookmarks'),          
      'baseUrl' => 'http://share.yandex.ru/go.xml?service=odnoklassniki&url=PERMALINK',	  
    ),


Этот код добавит 2 кнопки в панель настроек компонента и на страницу которую увидит ваш посетитель.

Поясню некоторые моменты по коду:
'check' — отображается в тултипе кнопки в панели настроек
'share' – отображается в тултипе кнопки на странице с компонентом
'baseUrl' – это шаблон url для кнопки, где PERMALINK и TITLE – это метасимволы.

Шаг 3

Откройте файл — sexybookmarks\includes\public.php. Найдите там функцию «function get_sexy()» в switch добавьте кейс:
case 'sexy-vkontakte':
                $socials.=bookmark_list_item($name, array(
                    'permalink'=>urlencode($perms),
                    'title'=>$title,
                ));
                break;	


Небольшое лирическое отступление относительно сервиса «Одноклассники»
Как показала практика, сервис публикации в «Одноклассники» довольно таки капризен и если url вашей страницы включает в себя буквы кириллицы, как например: my-site.com/привет-мир, то при публикации ссылки возникает ошибка «Нет доступа к ресурсу»

Ошибка «Нет доступа к ресурсу» при публикации на «Одноклассники»

Шаг 4

В принципе, трех предыдущих шагов уже вполне достаточно, что бы обеспечить работоспособность компонента. Ну а самые пытливые могут пойти дальше.

Итак, по результатам предыдущих трех шагов, мы уже разместили кнопки в админ-панели и они отображаются у вас в заметках. Но на панели настроек вместо значков «Одноклассники» и «ВКонтакте» отображается иконка показанная на рисунке ниже.

Иконка отображаемая для новых кнопок в панели настроек sexybookmarks

Для того, что бы исправить эту ситуацию, откройте файл со стилями для админ-панели: sexybookmarks\css\admin-style.css и добавте стили:

label.sexy-vkontakte{ background: url('../images/icons/sexy-vkontakte.png') no-repeat; 
background-repeat: no-repeat;
cursor: move;
float: left;
height: 40px;
margin: 12px 2px !important;
text-align: center;
width: 60px;}

label.sexy-odnoklassniki{ background: url('../images/icons/sexy-odnoklassniki.png') no-repeat; 
background-repeat: no-repeat;
cursor: move;
float: left;
height: 40px;
margin: 12px 2px !important;
text-align: center;
width: 60px; }


Шаг 5

В тултипе кнопки на странице и панели настроек отображается текст латинскими буквами — «Odnoklassniki» и «VKontakte». Если вас не устраивает эта ситуация, то эти кнопки можно локализовать для русского языка.

Для настройки локализации вам понадобится утилита Poedit.

Файлы локализации, находятся в папке sexybookmarks\languages\. Это файлы с расширениями: «*.po», «*.mo» и «*.pot». В файле «*.po» — описываются переменные локализации, затем эти файлы компилируются в «*.mo»-файлы.

Редактирование «*.po»-файла

Запустите poedit.exe откройте файл ресурсов русского языка — <каталог с плагином>\sexybookmarks\languages\sexybookmarks-ru_RU.po

Настроите путь к каталогу с плагином («Каталог» => «Настройки…»), выберите вкладку «Пути». В поле «Путь к базе» введите путь к папке с исходным кодом плагина sexybookmarks

Poedit - настройка путей

Cделайте синхронизацию с исходными кодами («Каталог» => «Обновить из исходного кода»)

Задайте перевод для «VKontakte» и «Odnoklassniki»

Poedit - перевод констант sexybookmarks

Компиляция «*.mo»-файла

Теперь осталось сделать последнее – скомпилировать «*.po» — файл в «*.mo» — файл. Сделать это можно в командной строке.

"C:\Program Files\Poedit\bin\msgfmt.exe" -o C:\ВАША_ПАПКА_С_ПЛАГИНОМ\sexybookmarks\languages\sexybookmarks-ru_RU.mo C:\ ВАША_ПАПКА_С_ПЛАГИНОМ \sexybookmarks\languages\sexybookmarks-ru_RU.po


В ответ обычно, не пишется ничего, просто обновляется «*.mo»-файл.

На этом все! Спасибо всем, кто осилил, надеюсь, что моя статья была вам полезна.

Ссылка на скачивание плагина sexybookmarks вместе с кнопками «ВКонтакте» и «Одноклассники»:
depositfiles: sexybookmarks
Теги:wordpresswordpress pluginssexybookmarksсоциальные кнопки
Хабы: WordPress
-9
6,2k 29
Комментарии 6
Лучшие публикации за сутки