Наверно, вы уже заметили небольшое усовершенствование на моем блоге - кнопки добавления статьи на социальные сервисы. Эта штука не является нововведением - до этого я использовал плагин “ОднаКнопка” для WordPress. Как-то на днях я подумал, что подгрузка js плагином со стороннего сайта может замедлить (и иногда действительно замедляла) загрузку страницы - ведь браузер с настройками по умолчанию (Opera, Firefox, Chrome - проверено на этих браузерах) будет ожидать полной загрузки скрипта, прежде чем рендерить дальше страницу. Далее, лишний JavaScript на странице может замедлить работу браузера (не утверждаю, что у меня много JavaScript, но для владельцев сайтов с большим количеством js это актуально). Ну и пункт 3 - известно, что чем больше плагинов установлено в WordPress, тем больше он жрет системных ресурсов. Как следствие, устанавливать ради двух строчек инклюда js на каждый пост в странице блога целый плагин, считаю немного лишним :) . Придя к такому заключению, я решил сделать очередную модификацию в теме своего блога (это определенно минус, т.к. после смены темы придется изменять новую тему). Мне понадобилось определенное время для того, чтобы откопать методы добавления статьи в социальные сервисы через GET-запрос, и теперь я хочу поделиться ими с вами.

Итак, я выбрал небольшой список социальных сервисов, вот они:

Далее я нашел подходящие иконки для отображения на страницах блога. Мне очень приглянулись иконки этого товарища, за них ему спасибо. Самое скучное было дальше - поиск GET-запросов к сервисам для добавления постов. Оказывается, аналогичное проделал и Глобатор, за что ему тоже спасибо - некоторые запросы перекочевали ко мне именно из его статьи :).

Итак, код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!--mail.ru-->
<a href="http://connect.mail.ru/share?share_url=&lt;?php the_permalink(); ?&gt;" rel="nofollow" target="_blank"><img title="Поделиться В Моем Мире" src="/assets/mail-ru.png" alt="" width="32" height="32" /></a>

<!--facebook-->
<a href="http://www.facebook.com/sharer.php?u=&lt;?php the_permalink(); ?&gt;" rel="nofollow" target="_blank"><img title="Поделиться в Facebook" src="/assets/facebook.png" alt="" width="32" height="32" /></a>

<!--delicious-->
<a href="http://del.icio.us/post?url=&lt;?php the_permalink() ?&gt;&amp;title=&lt;?php the_title(); ?&gt;" rel="nofollow" target="_blank"><img title="Поделиться в Delicious" src="/assets/delicious.png" alt="" width="32" height="32" /></a>

<!--digg-->
<a href="http://digg.com/submit?phase=2&amp;url=&lt;?php the_permalink() ?&gt;" rel="nofollow" target="_blank"><img title="Поделиться в Digg" src="/assets/digg.png" alt="" width="32" height="32" /></a>

<!--friendfeed-->
<a href="http://friendfeed.com/?url=&lt;?php the_permalink() ?&gt;&amp;title=&lt;?php the_title(); ?&gt;" rel="nofollow" target="_blank"><img title="Поделиться в FriendFeed" src="/assets/friendfeed.png" alt="" width="32" height="32" /></a>

<!--buzz-->
<a href="http://www.google.com/buzz/post?message=&lt;?php the_title(); ?&gt;&amp;url=&lt;?php the_permalink(); ?&gt;" rel="nofollow" target="_blank"><img title="Поделиться в Google Buzz" src="/assets/google.png" alt="" width="32" height="32" /></a>

<!--twitter-->
<a title="Добавить в Twitter" href="http://twitter.com/home?status=RT @ru_tingol &lt;?php the_title(); ?&gt;: &lt;?php the_permalink(); ?&gt;" rel="nofollow" target="_blank"><img title="Поделиться в Twitter" src="/assets/twitter.png" alt="" width="32" height="32" /></a>

<!--mister-wong-->
<a title="Добавить в Mister-Wong" href="http://www.mister-wong.ru/index.php?action=addurl&amp;bm_url=&lt;?php the_permalink(); ?&gt;&amp;bm_description=&lt;?php the_title(); ?&gt;" rel="nofollow" target="_blank"><img title="Добавить в Mister Wong" src="/assets/mister-wong.png" alt="" width="32" height="32" /></a>

<!--reddit-->
<a href="http://reddit.com/submit?url=&lt;?php the_permalink() ?&gt;&amp;title=&lt;?php the_title(); ?&gt;" rel="nofollow" target="_blank"><img title="Поделиться в Reddit" src="/assets/reddit.png" alt="" width="32" height="32" /></a>

<!--myspace-->
<a href="http://www.myspace.com/Modules/PostTo/Pages/?u=&lt;?php the_permalink() ?&gt;" rel="nofollow" target="_blank"><img title="Поделиться в MySpace" src="/assets/myspace.png" alt="" width="32" height="32" /></a>

<!--orkut-->
<a href="http://promote.orkut.com/preview?nt=orkut.com&amp;tt=&lt;?php the_title(); ?&gt;&amp;du=&lt;?php the_permalink() ?&gt;" rel="nofollow" target="_blank"><img title="Поделиться в Orkut" src="/assets/orkut.png" alt="" width="32" height="32" /></a>

<!--./-->
<a href="http://slashdot.org/bookmark.pl?url=&lt;?php the_permalink() ?&gt;&amp;title=&lt;?php the_title(); ?&gt;" rel="nofollow" target="_blank"><img title="Поделиться в Slashdot" src="/assets/slash-dot.png" alt="" width="32" height="32" /></a>

<!--Technorati-->
<a href="http://technorati.com/signup/?f=favorites&amp;Url=&lt;?php the_permalink() ?&gt;" rel="nofollow" target="_blank"><img title="Поделиться в Technorati" src="/assets/technocrati.png" alt="" width="32" height="32" /></a>

<!--StumbleUpon-->
<a href="http://www.stumbleupon.com/submit?url=&lt;?php the_permalink() ?&gt;" rel="nofollow" target="_blank"><img title="Поделиться в StumbleUpon" src="/assets/stumbleupon.png" alt="" width="32" height="32" /></a>

Пара нюансов.

Во-первых, необходимо поменять пути к вашим иконкам.

Во-вторых, размер ваших иконок может быть другим, поэтому вам может понадобиться изменить параметры width="32" height="32" в теге IMG или вовсе убрать их. В последнем случае иконки будут отрисовываться со своим натуральным разрешением.

Этот код необходимо прописать в файле index.php и/или single.php вашей темы после строки:

<?php the_content(''); ?>

Первый файл отвечает за вывод информации на главную страницу (где, как правило, отображаются подряд несколько постов), а второй - за вывод отдельного поста - когда вы посещаете страницу, содержащую один пост. Например, эту :) . Можно сделать и покрасивее - сохранить приведенный выше html-код в отдельный файл и назвать его как-нибудь с расширением .php, например services.php. Далее, этот файл кладется в директорию с темой (можно и в любое другое место), и в вышеуказанных файлах после

<?php the_content(''); ?>

пишем

<?php include("path/to/services.php"); ?>

Путь, конечно же, надо изменить на свой. Второй вариант хорош тем, что вам не нужно прописывать html-код со ссылками прямо в теме, вы делаете это в отдельном файле, который можно положить в любое удобное место и просто подключать (функция include() php) там, где это нужно.

Вот что у меня было:

А вот что стало:

По-моему, неплохо ;) . К тому же, оно теперь и грузится быстрее :)