Скрипт для WordPress “Добавить в закладки”
Поговорим о кнопках добавления ссылки на пост в социальные закладки, тех, которые мы обычно наблюдаем в начале или в конце каждого поста на многих блогах.
На этом блоге средства социализации постов были поочередно реализованы 3-мя разными способами: сначала я вставлял коды ссылок на социалки вручную, редактируя шаблон WP, затем поставил плагин, делающий то же самое, и, наконец, остановился на 3-м способе, когда эти ссылки выводятся полностью с помощью технологии JavaScript.
Хочу отметить, что первые 2 варианта совсем не нравились мне. Все потому, что в результате под каждым постом блога я получал ужасающий кусок хтмл-кода (с инлайновым ява-скриптом) внушающего размера. Чтобы увидеть ЭТО, посмотрите в исходный код, например, такой страницы. Поисковики наверняка пугаются, видя сие безобразие.
Помимо размера кода не прельщало и то, что в результате появлялось множество лишних исходящих ссылок. Сами понимаете, что абсолютно “левый” тег <noindex>
, равно как и атрибут rel="nofollow"
– не панацея.
Мне нужно было простое решение, так сказать, два в одном.
Вадим Ласто в очередной раз удивил меня, когда я обнаружил, что на его блоге появились ссылки добавления в социальные закладки и реализованы они с помощью небольшого ява-скрипта. Это и было то, что нужно мне.
Полагая, что данное решение придется по душе не только мне, расскажу, как данный скрипт адаптировать под популярный движок WordPress, на котором работает большинство stand-alone блогов (автор скрипта дал на это добро).
Процесс установки довольно прост, рассмотрим его последовательно:
- Необходимо в файл functions.php Вашей WP-темы добавить нижеследующий код (если такого файла еще нет, то создать его):
<?php function social() { $u = urlencode(get_permalink()); $t = get_the_title(); $social=<<<EOF function so(u,t) { for (i=0; i< s.length; i=i+2) document.write( '<a target="blank" href="http://'+s[i]+'/'+s[i+1].replace('{u}',u).replace('{t}',t)+'">'+ '<img src="/wp-content/themes/default/social/'+s[i]+'.ico" border="0" width="16" height="16" alt="Добавить в '+s[i]+'"></a>' ); } var s=new Array( "del.icio.us","post?url={u}&title={t}", "news2.ru","add_story.php?url={u}", "google.com","bookmarks/mark?op=edit&bkmk={u}&title={t}", "bobrdobr.ru","add.html?url={u}&title={t}", "memori.ru","link/?sm=1&u_data[url]={u}&u_data[name]={t}", "moemesto.ru","post.php?url={u}&title={t}", "mister-wong.ru","add_url/?bm_url={u}&bm_description={t}", "rumarkz.ru","bookmarks/?action=add&popup=1&address={u}&title={t}&description={t}", "rucity.com","bookmarks.php?action=add&address={u}&title={t}&description=", "linkstore.ru","servlet/LinkStore?a=add&url={u}&title={t}", "myscoop.ru","add/?title={t}&URL={u}", "vaau.ru","submit/?action=step2&url={u}", "newsland.ru","News/Add/type/news/" ); EOF; $social=<<<EOF <p class="social"> <script> $social so ( '$u', encodeURIComponent('$t') ); </script> </p> EOF; echo $social; } ?>
- Сохранить иконки социалок в какую-либо папку.
- В вышеуказанном коде заменить путь /wp-content/themes/default/social/ на путь к Вашей папке с иконками.
- Добавить в свою WordPress-тему в то место, где желаете выводить ссылки на социалки, такой код:
<?php social(); ?>
- Готово. То, что получается в результате, Вы можете увидеть, посмотрев код данной страницы.
Для удобства Вы можете скачать готовый архив, содержащий и файл functions.php, и иконки социалок.
В результате мы получили значительно уменьшенный код и решили задачу с излишними исходящими ссылками. Добавление в скрипт новых ссылок на социальные сервисы, думаю, труда не составит, все делается по аналогии.
* * *
Услуга, предлагаемая заводом-производителем «Росблок» на сайте rosblok.ru – доставка пенобетонных блоков разных марок (теплоизоляционный, конструкционный, конструкционно-теплоизоляционный), а также сопутствующих товаров.
Комментарии (46)
Сергей, пост написан почти года назад. Скрипт за это время изменился. Может быть однажды напишу о новом.
Да, спасибо. Скрипт от Ласто работает практически везде, не только на WordPress. Кстати недавно написал пост о том, как его встоить в любой динамический сайт. Надеюсь будет полезно…
Добрый день.
Воспользовался материалом данного поста, установил иконки для регистрации в социалках. Сейчас обследовал Ваш блог , и не нашел ничего подобного, в связи с чем возник вопрос: насколько наличие этих кнопок оправдывает себя, есть ли какой нибудь пусть самый минимальный эффект от этого сейчас? или тема уже себя исчерпала и смысла городить огород уже нет?
Потому что теперь используется усовершенствованный скрипт.
Если на блоге публикуется интересный многим читателям материал, то, конечно, оправдывает.
Помучался я с выводом иконок. Оказалось дело было в .htaccess. Проверил скрипт “летает” по сравнению с “тормозящей” “одной кнопкой”. Спасибо :)
Спасибо за скрипт, как раз хочу реализовать меню закладок на своем сайте!