Всем привет!
Сегодня речь пойдет о компоненте для WordPress – sexybookmarks версии 3.0, а именно, как добавить в этот плагин кнопки «ВКонтакте» и «Одноклассники»
Для тех, кто еще не знаком с этим плагином, поясню, этот плагин отображает «социальные кнопки» для публикации ваших статей в различные сервисы, такие как «Facebook», «закладки Google», «закладки Яндекс» и т.д.
Чем же примечателен именно этот плагин? Ведь для WordPress подобных плагинов довольно много… Помимо большого количества встроенных кнопок (87 штук), довольно таки удобной панели настроек и поддержкой русского языка, этот плагин обладает необычным дизайном, который может прийтись по душе ни только вам, но и вашим посетителям.
Скачать плагин sexybookmarks версии 3.0, можно по ссылке: sexybookmarks. Версия 3.0. совместима с WordPress 3.3.1, проверено на собственном опыте.
Панель настроек sexybookmarks открывается в меню WordPress «Параметры» => «SexyBookmarks». В панели можно отметить интересующие вас кнопки, добавить атрибут «rel='nofollow'» к анкорам, настроить размещение панели кнопок и настроить внешний вид. Как выглядит страница настроек, можно увидеть на картинке ниже.
На этом вводную часть завершаю и перехожу к главному – теме статьи.
Как и говорилось раннее, плагин включает в себя 87 встроенных кнопок, но среди них нет тех самых, наиболее популярных в наших краях кнопок «Одноклассники» и «ВКонтакте». Далее по тексту, я объясню как их добавить, ну а тем, кому нет необходимости вникать в процесс добавления кнопок, в конце статьи есть ссылка на скачивания плагина с уже встроенными кнопками.
Для редактирования файлов, вам понадобится текстовый редактор. Я рекомендую использовать – Notepad++, он удобен для редактирования и что самое главное, не создаст проблем с кодировкой после сохранения. Скачать редактор можно по ссылке: Notepad++.
Для создания кнопок выполните следующие шаги:
Шаг 1
Скопируйте иконки sexy-vkontakte.png и sexy-odnoklassniki.png для наших будущих кнопок в папку sexybookmarksimagesicons
Внимание!
Сохраните файлы именно с названиями sexy-vkontakte.png и sexy-odnoklassniki.png. Это очень важно для корректной работы компонента.
Шаг 2
Откройте файл sexybookmarksincludesbookmarks-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 – это метасимволы, которые будут заменены на url (PERMALINK) и заголовок (TITLE) страницы, на которой находится панель с кнопками. Для каждого сайта такой url свой, узнать его можно в справке используемого сервиса.
Название элементов 'sexy-vkontakte' и 'sexy-odnoklassniki' я переименовывать вам не рекомендую. Этот текст используется для названия файла иконки и в файле public.php, описанном ниже. Для css-стиля кнопки, также подставляется это же название.
Шаг 3
Откройте файл — sexybookmarksincludespublic.php. Найдите там функцию «function get_sexy()» (просто используя поиск по Ctrl+F). В этом методе найдите «switch ($name)», в конце этого switch перед текстом «default:» вставьте следующий код:
case 'sexy-vkontakte': $socials.=bookmark_list_item($name, array( 'permalink'=>urlencode($perms), 'title'=>$title, )); break;
Этот код преобразует наш url к более корректной форме для формирования ссылки сервиса vkontakte
Небольшое лирическое отступление относительно сервиса «Одноклассники»
Как показала практика, сервис публикации в «Одноклассники» довольно таки капризен и если url вашей страницы включает в себя буквы кириллицы, как например: my-site.com/привет-мир/, то при публикации ссылки возникает ошибка «Нет доступа к ресурсу»
![Wordpress / [Из песочницы] Plugin для Wordpress — «sexybookmarks». Добавляем кнопки «ВКонтакте» и «Одноклассники» Ошибка «Нет доступа к ресурсу» при публикации на «Одноклассники»](https://www.pvsm.ru/images/6b5c14e0cb600adef399d1d11d29ce12.jpg)
Так, что если у вас возникает такая ситуация, я рекомендую вам переименовать страницу либо не размещать кнопку «Одноклассники» в этой панели вообще.
Шаг 4
В принципе, трех предыдущих шагов уже вполне достаточно, что бы обеспечить работоспособность компонента. Ну а самые пытливые могут пойти дальше.
Итак, по результатам предыдущих трех шагов, мы уже разместили кнопки в админ-панели и они отображаются у вас в заметках. Но на панели настроек вместо значков «Одноклассники» и «ВКонтакте» отображается иконка показанная на рисунке ниже.
![Wordpress / [Из песочницы] Plugin для Wordpress — «sexybookmarks». Добавляем кнопки «ВКонтакте» и «Одноклассники» Иконка отображаемая для новых кнопок в панели настроек sexybookmarks](https://www.pvsm.ru/images/dea202b3e2cc8a47bb13d161f739e40e.png)
Для того, что бы исправить эту ситуацию, откройте файл со стилями для админ-панели: sexybookmarkscssadmin-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; }
После этого в панели настроек sexybookmarks будут отображаться корректные иконки.
Шаг 5
В тултипе кнопки на странице и панели настроек отображается текст латинскими буквами — «Odnoklassniki» и «VKontakte». Если вас не устраивает эта ситуация, то эти кнопки можно локализовать для русского языка.
Для настройки локализации вам понадобится утилита Poedit. Скачать ее можно по ссылке: Poedit. Далее я буду давать пояснения для OC Windows.
Файлы локализации, находятся в папке sexybookmarkslanguages. Это файлы с расширениями: «*.po», «*.mo» и «*.pot». В файле «*.po» — описываются переменные локализации, затем эти файлы при помощи утилиты poedit компилируются в «*.mo»-файлы. Программа Poedit синхронизирует файлы локализации с исходным кодом, также, при помощи нее можно скомпилировать «.mo»-файлы и в ней есть возможность автоматического перевода ресурсов, что очень удобно. В данной статье, автоматический перевод не описывается, но вы можете ознакомится с этой возможностью самостоятельно изучив документацию.
Редактирование «*.po»-файла
Запустите poedit.exe. Сделать это можно через «Пуск» => «Программы» => «Poedit» => «Poedit» или из папки установки «C:Program FilesPoeditbinpoedit.exe»
В меню, нажмите «Файл» => «Открыть…» или значок папки на тулбаре. В появившемся окне выберите файл по пути <каталог с плагином>sexybookmarkslanguagessexybookmarks-ru_RU.po
![Wordpress / [Из песочницы] Plugin для Wordpress — «sexybookmarks». Добавляем кнопки «ВКонтакте» и «Одноклассники» Poedit - открытие файла sexybookmarks-ru_RU.po](https://www.pvsm.ru/images/b6e172db8ead3bddd189484feb324a56.jpg)
После того как вы открыли «*.po»-файл, надо настроить путь к каталогу с плагином. Для этого в меню нажмите «Каталог» => «Настройки…». В появившемся окне, установите вкладку «Пути». В поле «Путь к базе» введите путь к папке с исходным кодом плагина sexybookmarks у вас на компьютере и нажмите «Ок»
![Wordpress / [Из песочницы] Plugin для Wordpress — «sexybookmarks». Добавляем кнопки «ВКонтакте» и «Одноклассники» Poedit - открытие настроек](https://www.pvsm.ru/images/3f7dca3897ced445b8623e605a61a7ec.jpg)
![Wordpress / [Из песочницы] Plugin для Wordpress — «sexybookmarks». Добавляем кнопки «ВКонтакте» и «Одноклассники» Poedit - настройка путей](https://www.pvsm.ru/images/f4a50531697b083417839763f0d43f2b.jpg)
После этих действий вы можно сделать синхронизацию с исходными кодами. В меню выберите «Каталог» => «Обновить из исходного кода»
![Wordpress / [Из песочницы] Plugin для Wordpress — «sexybookmarks». Добавляем кнопки «ВКонтакте» и «Одноклассники» Poedit - меню обновления из исходного кода](https://www.pvsm.ru/images/2f7491f9d1391d5e28861d74e6c0669e.jpg)
После обновления должно появиться окно, показанное на картинке ниже.
![Wordpress / [Из песочницы] Plugin для Wordpress — «sexybookmarks». Добавляем кнопки «ВКонтакте» и «Одноклассники» Poedit - результат обновления po-файла по исходному коду](https://www.pvsm.ru/images/7251e2dfdaf81a0888bf606d567e92fc.jpg)
Жмите «ОК»
Теперь можно задать значение для перевода. В списке нажмите на строку «VKontakte». Эта строка будет выделена жирным темно-синим шрифтом, после этого внизу страницы автоматически заполнится верхнее текстовое поле строкой «VKontakte», впечатайте в поле ниже перевод – «ВКонтакте»
![Wordpress / [Из песочницы] Plugin для Wordpress — «sexybookmarks». Добавляем кнопки «ВКонтакте» и «Одноклассники» Poedit - перевод констант sexybookmarks](https://www.pvsm.ru/images/799885bab61e3a6e2653049add1a5768.jpg)
Тоже самое проделайте с «Одноклассниками». Все, можно сохранять, жмите «Файл» => «Сохранить»
Компиляция «*.mo»-файла
Теперь осталось сделать последнее – скомпилировать «*.po» — файл в «*.mo» — файл. Сделать это можно в командной строке. Так, что жмем «Пуск» и впечатываем имя программы «cmd».
В строку запроса вводим примерно следующее:
"C:Program FilesPoeditbinmsgfmt.exe" -o C:ВАША_ПАПКА_С_ПЛАГИНОМsexybookmarkslanguagessexybookmarks-ru_RU.mo C: ВАША_ПАПКА_С_ПЛАГИНОМ sexybookmarkslanguagessexybookmarks-ru_RU.po
![Wordpress / [Из песочницы] Plugin для Wordpress — «sexybookmarks». Добавляем кнопки «ВКонтакте» и «Одноклассники» Компиляция mo-файла в командной строке](https://www.pvsm.ru/images/382ea10510959a309c197194e38ff4e1.jpg)
В ответ обычно, не пишется ничего, просто обновляется «*.mo»-файл. Проверить успешность генерации файла можно по дате-времени обновления файла
После всех этих действий, можно заливать папку плагина «sexybookmarks» на ваш в папку wp-contentplugins
На этом все! Спасибо всем, кто осилил, надеюсь, что моя статья была вам полезна.
Ссылка на скачивание плагина sexybookmarks вместе с кнопками «ВКонтакте» и «Одноклассники»:
depositfiles: sexybookmarks
Автор: Irrra

![Wordpress / [Из песочницы] Plugin для Wordpress — «sexybookmarks». Добавляем кнопки «ВКонтакте» и «Одноклассники» Окно настроек плагина SexyBookmarks](https://www.pvsm.ru/images/89d4fba0eae692c4dc7bd7df1ddd3b1a.jpg)