Twitter share link
При разработке шаблона оформления для zendaily я столкнулся с тем, что ссылки поделиться в twitter вдруг в одночасье разом перестали работали. Можно было бы, конечно, использовать обычную кнопку, которую они предоставляют, но конкретно в этом случае она просто не вписывалась в общую концепцию сайта.
В тот момент я использовал ссылку вида:
http://twitter.com/share
и дальше следовал определенный набор параметров, в котором обычно использовался только текст самого твита и ссылка на запись.
Пришлось разбираться и в итоге оказалось, что twitter изменил свой api, сделав его более удобным. Теперь для использования твиттера необходимо использовать ссылку вида:
https://twitter.com/intent/tweet?text=Текст твита&url=http://domain.ru
Более подробно по параметрам можно прочесть на странице dev.twitter.com.
Параметры
-
url
С помощью данного параметра передается адрес ссылки, который будет размещен в тексте твита. При этом адрес необходимо передавать в кодированном виде, заменяя спецсимволы на числовые последовательности. Пример такого адреса:
http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FIn_Watermelon_Sugar -
via
С помощью данного параметра указывается, в ответ на сообщение какого пользователя произодиться ретвит. Указывается только имя пользователя без символа
@, который будет добавлен автоматически при публикации твита. -
text
Это текст самого твита, который должен быть предварительно подготовлен и закодирован, пробелы заменены или на знак плюса, или на код
%20, значки препинания на соответствующие цифровые коды, и т.д. -
in_reply_to
Если во время публикации статьи был создан соответствующий твит, то с помощью данного параметра можно передать его порядковый номер в системе, чтобы можно было в дальнейшем отследить на какое сообщение производился ретвит.
Пример:
35782000644194304 -
hashtags
Данный параметр позволяет добавлять к твиту определенные хештеги, для более быстрого поиска сообщения. Хеш-тэги прописываются без знака
#, который будет автоматически добавлен системой при публикации твита.Все необходимые тэги перечисляются через запятую:
twitter,twitterapi -
related
Параметр, с помощью которого после публикации твита предлагается следовать за определенными пользователями. Имена пользователей передаются через запятую.
Wordpress
Теперь рассмотрим, каким образом можно создавать свои ссылки в Wordpress для размещения ссылок в твиттере.
В определенном месте шаблона создаем текстовую ссылку, в которой прописываем следующий код:
<a href="https://twitter.com/intent/tweet?text=<?php echo urlencode(get_the_title());?>&url=<?php echo urlencode(get_permalink($post->ID));?>&via=zendaily_ru&hashtags=zendaily&related=juev,zendaily_ru,dmitry_diez" title="Click to share this post on Twitter" rel="nofollow" target="_blank">twitter</a>
Как понятно из объяснения, самый первый пример, который был использован в статье
некорректный, просто потому, что ни текст твита, ни адрес ссылки не были преобразованы в
требуемый вид. Для того, чтобы это корректно проделать, используется функция urlencode,
которая преобразует передаваемый ей текст в соответственную последовательность символов.
Не забываем так же символ & записывать с помощью кода &.
В приведенном примере в качестве текста твита используется заголовок статьи, который берется и кодируется с помощью кода:
echo urlencode(get_the_title());
Функция get_the_title() возвращает обычную строку, поэтому после преобразования
результат необходимо вывести с помощью функции echo.
Для получения и преобразования ссылки используется код:
echo urlencode(get_permalink($post->ID));
Функция the_permalink() производит вывод ссылки, естественно, что он уже не может быть
преобразован, именно поэтому необходимо использовать функцию get_permalink($post->ID)
которая возвращает именно строку с адресом текущей статьи.
По остальным параметрам я останавливаться не буду, там просто передаются определенные
значения. Единственно рекомендую добавлять к размещаемой ссылку параметр rel="nofollow",
для того, чтобы устранить утекание PR с вашего домена.