Sociable RE (русская версия)

В поисках оптимального плагина социальных закладок я наткнулся на минималистичный и при этом очень просто масштабируемый плагин Sociable.

К сожалению, поддержка плагина несколько раз переходила из рук в руки, поэтому теперь не ясно, поддерживает его кто-либо или нет. Последнее обновление обозначено 28-го октября 2009.

Я взял на себя смелость добавить к плагину популярные российские социальные сети и сервисы закладок. Все в рамках лицензии GPL второй версии.

Встречайте итог работы — Sociable Russian Edition (русская версия)

На данный момент, помимо массы иноземных сайтов, можно добавлять закладки в следующие отечественные:
Скачать Sociable RE (русская версия)

  • ВКонтакте
  • Мой Мир @mail.ru
  • Яндекс.Закладки
  • БобрДобр
  • Memori.ru
  • МоёМесто.ru
  • Сто закладок
  • MisterWong.RU
  • Google Buzz, он же «Живая лента Google»
  • Google Orkut
  • Live Journal, он Живой Журнал

Плюс я перевёл интерфейс админки.

Ответы на вопросы

Как вывести кнопки вертикально, в столбик?
Как вставить вывод кнопок в произвольное место шаблона?
Как поставить вместо стандартных иконок свои произвольного размера?

Как вывести кнопки вертикально, в столбик?

Ответ: Необходимо отключить свойство inline. Для этого:

  1. Скопируйте содержимое sociable.css в файл стилей текущей темы;
  2. Удалите правила display: inline; из стилей Sociable. Получится такой набор:

    /* sociable */
     
    div.sociable { margin: 16px 0; }
     
    span.sociable_tagline { position: relative; }
    span.sociable_tagline span { display: none; width: 14em; }
    span.sociable_tagline:hover span {
    	position: absolute;
    	display: block;
    	top: -5em;
    	background: #ffe;
    	border: 1px solid #ccc;
    	color: black;
    	line-height: 1.25em;
    }
    .sociable span {
    	display: block;
    }
    .sociable ul {
    	margin: 0 !important;
    	padding: 0 !important;
    }
    .sociable ul li {
    	background: none;
    	list-style-type: none;
    	margin: 0;
    	padding: 1px !important;
    }
    .sociable ul li:before { content: ""; }
    .sociable img {
    	float: none;
    	width: 16px;
    	height: 16px;
    	border: 0;
    	margin: 0;
    	padding: 0;
    }
     
    .sociable-hovers {
    	opacity: .4;
    	-moz-opacity: .4;
    	filter: alpha(opacity=40);
    }
    .sociable-hovers:hover {
    	opacity: 1;
    	-moz-opacity: 1;
    	filter: alpha(opacity=100);
    }
  3. Отключите в настройках плагина использование стилей Sociable.

Собственно, редактированием стилей можно добиться любого вида отображения.

Как вставить вывод кнопок в произвольное место шаблона?

Ответ: Разместить кнопочки в любом месте шаблона можно с помощью кода:

<?php if (function_exists('sociable_html')) {
    echo sociable_html();
} ?>

Можно вручную указать, какие именно кнопки выводить, перечислив их названия:

<?php if (function_exists('sociable_html')) {
    echo sociable_html(Array("ВКонтакте", "del.icio.us", "Мой Мир"));
} ?>

Работать это будет только в пределах стандартного цикла loop:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

Как поставить вместо стандартных иконок свои произвольного размера?

1. Заливаем иконки этого размера в папку
2. Указываем папку в настройке «Каталог картинок»
3. Открыть файл sociable.css (для удобства используйте EmEditor или другой редактор, но не блокнот)
Находим:

.sociable img {
    float: none;
    width: 16px;
    height: 16px;
    border: 0;
    margin: 0;
    padding: 0;
}
div.sociable { margin: 16px 0; }

Заменяем на:
16 меняем на 32.

Открываем sociable.php
Найти кусок кода:

alt=\"$description\" style=\"width: 16px; height: 16px

Заменяем 16 на 32 (или другой размер, согласно размеру ваших иконок)

Тоже самое проделываем с (в двух случаях)

echo "<img src=\"$imgsrc\" width=\"16\" height=\"16\"

4. Иконки увеличили на страницах, но в админке ситуация не из приятных.
Для превью иконок и их названий отведено мало места
Открываем sociable-admin.css

В блоке

#sociable_site_list li {

Находим

height: 20px;

И 20 меняем на 50 например.

Выглядит это дело, например, так:

(c) TAIFUN
—–

Плагин доступен на WordPress.org

Оказалось полезным? Покажите друзьям:
  • Добавить ВКонтакте заметку об этой странице
  • Одноклассники
  • Мой Мир
  • Facebook
  • Twitter
  • LiveJournal
  • Блог Li.ру
  • В закладки Google
  • Blogger
  • Google Buzz
  • Яндекс.Закладки
  • Блог Я.ру
  1. 13 Август 2010 в 14:39 | #1

    @Виктор, перепутал, действительно :) Но только всплывающие надписи, вроде. А так базз переадресует в ридер, а букмарк — в закладки.
    Думаю, из-за такой мелочи не стоит выпускать апдейт.
    Но при добавлении новых сетей исправлю. Правда пока вроде никто ничего не просил добавить.

  2. 16 Август 2010 в 17:00 | #2

    Здравствуйте, а можно встроить в плагин ссылку на «Живой журнал» и «Блоггер» ?

  3. 16 Август 2010 в 21:36 | #3

    @Осип, можно, конечно. Как только, так сразу :)

  4. 2 Сентябрь 2010 в 11:39 | #4

    блин смените ссылку в Google Buzz на http://www.google.com/buzz/post?url=PERMALINK а то после обновления каждый раз менять приходится. и желательно бы опцию «Помещать кнопки перед сообщением»

  5. 2 Сентябрь 2010 в 11:42 | #5

    а можно ещё кнопки вставлять в шапку сообщения

  6. 2 Сентябрь 2010 в 12:34 | #6

    @qnub, бут сделано!

  7. 2 Сентябрь 2010 в 12:40 | #7

    @qnub, а что такое «шапка сообщения»?

  8. Пира
    8 Сентябрь 2010 в 16:24 | #8

    Очень большая просьба: добавить опцию, которая отвечает за rel=»nofollow», если это возможно конечно.

  9. 9 Сентябрь 2010 в 01:07 | #9

    Спасибо за плагин. Вопрос дилетантский: как сделать так, чтобы иконки отображались горизонтально?

  10. 9 Сентябрь 2010 в 09:46 | #10

    @Пира, постараюсь сделать.

    @Андрей, они и так ведь горизонтально выводятся. В строчку то есть. Или Вы хотите вывести их в столбик, одну под другой?

    Для вертикального расположения нужно отключить свойство inline:
    1. Скопируйте содержимое sociable.css в файл стилей текущей темы.
    2. Удалите правила display: inline; из стилей sociable. Получится такой набор:

    /* sociable */
     
    div.sociable { margin: 16px 0; }
     
    span.sociable_tagline { position: relative; }
    span.sociable_tagline span { display: none; width: 14em; }
    span.sociable_tagline:hover span {
    	position: absolute;
    	display: block;
    	top: -5em;
    	background: #ffe;
    	border: 1px solid #ccc;
    	color: black;
    	line-height: 1.25em;
    }
    .sociable span {
    	display: block;
    }
    .sociable ul {
    	margin: 0 !important;
    	padding: 0 !important;
    }
    .sociable ul li {
    	background: none;
    	list-style-type: none;
    	margin: 0;
    	padding: 1px !important;
    }
    .sociable ul li:before { content: ""; }
    .sociable img {
    	float: none;
    	width: 16px;
    	height: 16px;
    	border: 0;
    	margin: 0;
    	padding: 0;
    }
     
    .sociable-hovers {
    	opacity: .4;
    	-moz-opacity: .4;
    	filter: alpha(opacity=40);
    }
    .sociable-hovers:hover {
    	opacity: 1;
    	-moz-opacity: 1;
    	filter: alpha(opacity=100);
    }

    3. Отключите в настройках плагина использование стилей sociable.

    Собственно, редактированием стилей можно добиться любого вида отображения.

    Кстати, разместить кнопочки в любом месте шаблона можно с помощью кода:

    <?php if (function_exists('sociable_html')) {
        echo sociable_html();
    } ?>
  11. 26 Сентябрь 2010 в 17:17 | #11

    Добрый день

    Добавьте, пожалуйста, поддержку Одноклассников
    http://dev.odnoklassniki.ru/wiki/display/plugins/Social+Plugins

  12. 26 Сентябрь 2010 в 17:59 | #12

    @Гаяр, ok. Будет в следующей версии.

  13. 28 Сентябрь 2010 в 11:30 | #13

    Было бы очень здорово добавить еще и «Одноклассники»
    Спасибо

  14. 5 Октябрь 2010 в 22:16 | #14

    почему то кнопка одноклассников не показывается, ни в админке ни на сайте, файрвол отключил….не понятно

  15. 5 Октябрь 2010 в 23:25 | #15

    @pashen, Ctrl+R или Ctrl+F5. Вероятно, спрайт в кеше браузера старый

  16. 5 Октябрь 2010 в 23:38 | #16

    @pashen, попробуйте так же отключить использование спрайта в настройках плагина, а потом вновь включите

  17. 5 Октябрь 2010 в 23:44 | #17

    @jackyfox, если ничего не поможет, переустановите плагин, удалив его и установив по новой.
    Не вижу больше причин :)
    Только что у себя переустановил плагин версией из каталога, т.е. той же, что предлагается всем пользователям. У меня все отображается, и блоггер, и одноклассники.
    Отпишитесь о результатах, пожалуйста

  18. 6 Октябрь 2010 в 10:39 | #18

    @jackyfox, аналогичная ситуация – не отображается.

    ЗЫ: Введите доставку комментов на мыло (плагин Subscribe To Comments), а то узнать об ответе – проблематично.

  19. 6 Октябрь 2010 в 10:42 | #19

    А не, работает :) Но всё равно введите доставку камментов ;)

  20. 6 Октябрь 2010 в 10:44 | #20

    Кстати, когда отправляешь ВКонтакт, то окно само не закрывается и «Esc» там не работает. У вас тут на сайте тоже самое – проверил только что :)

  21. 6 Октябрь 2010 в 12:10 | #21

    @Сергей Брусенцов, доставку комментов на мыло заведу, посоветуйте только хороший плагин для этого дела.
    Работу ThickBox только что проверил в IE8, Chrome, Opera, FF и Сафари. По кнопке «close» закрывается во всех, по эскейпу во всех, кроме сафари.

  22. Денис
    12 Октябрь 2010 в 14:05 | #22

    Одноклассники.

  23. 12 Октябрь 2010 в 16:34 | #23

    @Денис, можно чуточку поподробнее?

  24. 14 Октябрь 2010 в 00:26 | #24

    Присоединяюсь к благодарностям за разработку плагина!
    Скажите, когда проверял действия возник такой вопрос.
    В контакте и в ЖЖ (я только там проверял) добавляются только несколько строк из записи и ставится ссылка на запись. Можно сделать, чтобы там публиковалась вся запись или хотя бы побольше слов?

  25. 14 Октябрь 2010 в 10:49 | #25

    @Kotofasia, в принципе можно, но придется вносить корректировку в плагин. Вы можете самостоятельно исправить, заменив код:

    if ($excerpt == "") {
        $excerpt = urlencode(substr(strip_tags(strip_shortcodes($post->post_content)),0,250));
    }

    на

    if ($excerpt == "") {
        $excerpt = urlencode(strip_tags(strip_shortcodes($post->post_content)));
    }

    В таком варианте, добавляться должен текст всей статьи. Хотя возможны ошибки при передаче больших кусков текста

  26. 14 Октябрь 2010 в 20:29 | #26

    Плагин замечательный, вот только бы оставить самые распространённые забугорные сервисы, а остальные убрать и добавить наших, было бы просто супер, удачи в этом деле, ждём обновлений!

  27. 14 Октябрь 2010 в 22:03 | #27

    @Иван, спасибо за похвалы :)
    Вы не стесняйтесь, говорите, какие сервисы оставить, какие удалить, и каких не хватает.
    А то мало ли я уберу чего, и выяснится, что зря.

Страницы комментариев

Подписаться, не оставляя комментариев