Русский AddThis — одна кнопка для всех сервисов закладок
Альтернативная версия плагина ОднаКнопка для WordPress
Сайт odnaknopka.ru предлагает для загрузки widget для WordPress, который позволяет использовать одну-единственную кнопку для добавления статьи в один из многих сервисов закладок (русский вариант AddThis!). Plugin для WordPress доступен для скачивания со страницы сайта.
Теперь о плохом (люблю я покритиковать): код, генерируемый плагином, никуда не годится
, ибо генерирует он не валидирующийся (и избыточный) HTML. Честно говоря, и сам PHP-код плагина имеет некоторые проблемы: использование htmlspecialchars() для априорно неизвестной кодировки (WordPress можно сконфигурировать для использования практически любой кодировки) не является самым удачным решением.
По традиции, я решил переписать код:
class widget_odnaknopka {
function widget_odnaknopka()
{
add_filter('the_content',array(&$this, 'odnaknopka'));
add_action('wp_head', array(&$this, 'action_head'));
}
function odnaknopka($content)
{
$url = get_permalink();
$title = get_the_title();
return $content . '<span class="odnaknopka"><script type="text/javascript">okbm("'.wp_specialchars($url).'","'.wp_specialchars($title).'")</script></span>';
}
function action_head()
{
print '<script src="http://odnaknopka.ru/wp/ok2.utf8.js" type="text/javascript"></script>';
}
}
$widget = new widget_odnaknopka();
?>
Так мне он нравится больше
Замечания:
- кнопка, генерируемая скриптом, помещается не внутрь элемента
<div>, как это было в оригинале (так как это конфликтует с автоматической генерацией тэгов<p>WordPress), а в<span class="odnaknopka">. Поэтому придётся немного изменить CSS, например, так:[-]View Code CSSspan.odnaknopka {
display: block;
margin: .5em 0;
} - имя скрипта (ok2.utf8.js) в функции
widget_odnaknopka::action_head()придётся поменять для другого внешнего вида кнопки (на данный момент, сайт предоставляет три варианта кнопок) и кодировки.
Есть еще один нехороший момент — скрипт (okx.xxx.js) использует метод document.write() для добавления кнопки в HTML-код, что может не работать, если HTML отдаётся как application/xhtml+xml. Когда дойдут руки — перепишу весь скрипт
Мар
2008
Комментарии к статье «Русский AddThis — одна кнопка для всех сервисов закладок» (19) »
Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.
Оставить комментарий к записи «Русский AddThis — одна кнопка для всех сервисов закладок»
गते गते पारगते पारसंगते बोधि स्वाहा
Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.


[...] http://blog.sjinks.pro/wordpress/725-689-wp-super-cache-vs-maxsite-cache-part-2/ http://blog.sjinks.pro/wordpress/plugins/61-russian-addthis-one-button-for-all-bookmark-services/ [...]
Спасибо за статью, интересный блог, добавил в закладки!
Спасибо, как раз друг спрашивал о подобном, поделюсь с ним ссылкой…