Наверно, вы уже заметили небольшое усовершенствование на моем блоге - кнопки добавления статьи на социальные сервисы. Эта штука не является нововведением - до этого я использовал плагин “ОднаКнопка” для WordPress. Как-то на днях я подумал, что подгрузка js плагином со стороннего сайта может замедлить (и иногда действительно замедляла) загрузку страницы - ведь браузер с настройками по умолчанию (Opera, Firefox, Chrome - проверено на этих браузерах) будет ожидать полной загрузки скрипта, прежде чем рендерить дальше страницу. Далее, лишний JavaScript на странице может замедлить работу браузера (не утверждаю, что у меня много JavaScript, но для владельцев сайтов с большим количеством js это актуально). Ну и пункт 3 - известно, что чем больше плагинов установлено в WordPress, тем больше он жрет системных ресурсов. Как следствие, устанавливать ради двух строчек инклюда js на каждый пост в странице блога целый плагин, считаю немного лишним :) . Придя к такому заключению, я решил сделать очередную модификацию в теме своего блога (это определенно минус, т.к. после смены темы придется изменять новую тему). Мне понадобилось определенное время для того, чтобы откопать методы добавления статьи в социальные сервисы через GET-запрос, и теперь я хочу поделиться ими с вами.
Итак, я выбрал небольшой список социальных сервисов, вот они:
- Мой Мир mail.ru;
- Facebook;
- Delicious;
- Digg;
- Friendfeed;
- Google Buzz;
- Twitter;
- Mister Wong;
- Reddit;
- MySpace;
- Orkut;
- Slashdot;
- Technorati;
- StumbleUpon.
Далее я нашел подходящие иконки для отображения на страницах блога. Мне очень приглянулись иконки этого товарища, за них ему спасибо. Самое скучное было дальше - поиск 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=<?php the_permalink(); ?>" 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=<?php the_permalink(); ?>" 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=<?php the_permalink() ?>&title=<?php the_title(); ?>" 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&url=<?php the_permalink() ?>" rel="nofollow" target="_blank"><img title="Поделиться в Digg" src="/assets/digg.png" alt="" width="32" height="32" /></a>
<!--friendfeed-->
<a href="http://friendfeed.com/?url=<?php the_permalink() ?>&title=<?php the_title(); ?>" 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=<?php the_title(); ?>&url=<?php the_permalink(); ?>" 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 <?php the_title(); ?>: <?php the_permalink(); ?>" 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&bm_url=<?php the_permalink(); ?>&bm_description=<?php the_title(); ?>" 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=<?php the_permalink() ?>&title=<?php the_title(); ?>" 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=<?php the_permalink() ?>" 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&tt=<?php the_title(); ?>&du=<?php the_permalink() ?>" 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=<?php the_permalink() ?>&title=<?php the_title(); ?>" 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&Url=<?php the_permalink() ?>" 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=<?php the_permalink() ?>" 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) там, где это нужно.
Вот что у меня было:
А вот что стало:
По-моему, неплохо ;) . К тому же, оно теперь и грузится быстрее :)
Интересная статья, расписано подробно. Обязательно возьму на вооружение. А я вот нашел кучу всяких иконок. Написал заметочку, посмотрите, плиз http://berezablog.com/vybiraem-ikonki-dlya-bloga/
Спасибо за отзыв. Интересный сайтик с иконками вы нашли, спасибо за ссылочку :)
Спасибо! Давно искал “чистый” код без лишних скриптов и прочего хлама…
Рад, что статья оказалась полезна ;)
[…] пост, в котором автор рассказывает, как создать кнопки добавления в социальные сервисы без плагинов. Рекомендую всем любителям настраивать свой блог […]
Как сделать свои кнопки добавления в социальные сервисы без использования плагинов…
Огромное СПС
Пожалуйста :)