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_Sugarvia
С помощью данного параметра указывается, в ответ на сообщение какого пользователя произодиться ретвит. Указывается только имя пользователя без символа
@, который будет добавлен автоматически при публикации твита.text
Это текст самого твита, который должен быть предварительно подготовлен и закодирован, пробелы заменены или на знак плюса, или на код
%20, значки препинания на соответствующие цифровые коды, и т.д.in_reply_to
Если во время публикации статьи был создан соответствующий твит, то с помощью данного параметра можно передать его порядковый номер в системе, чтобы можно было в дальнейшем отследить на какое сообщение производился ретвит.
Пример:
35782000644194304hashtags
Данный параметр позволяет добавлять к твиту определенные хештеги, для более быстрого поиска сообщения. Хеш-тэги прописываются без знака
#, который будет автоматически добавлен системой при публикации твита.Все необходимые тэги перечисляются через запятую:
twitter,twitterapirelated
Параметр, с помощью которого после публикации твита предлагается следовать за определенными пользователями. Имена пользователей передаются через запятую.
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 с вашего домена.