Кнопка "Поделиться" в Твиттере не пересылает пользовательский текст

Я работаю над сайтом с опцией "Поделиться в Твиттере" для каждого конкретного продукта.

Я следовал инструкциям твиттер-API по обмену твитами, и все отлично работает, кроме пользовательского отображения текста. Например, я хочу, чтобы пользователь написал в твиттере так: "Как вы думаете? Стоит ли покупать это? http://url.etc/ @mywebsite"

но все, что я получаю, когда пользователь пишет в Твиттере, это ссылка: http://url.etc/

Это код:

<script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>
<a target="_blank" href="https://twitter.com/share" data-url="http://bit.ly/twitter-api-announce" data-via="testtest" data-text="What do you think? Should I buy this? " data-count="none" data-counturl="http://groups.google.com/group/twitter-api-announce" >TWITTER</a>

Проблемы, кажется, с опцией data-text.

Есть опыт по этому поводу? Идеи? Спасибо

4 ответа

На Wordpress я просто использовал <a href="https://twitter.com/share?url=google.com&text=your text here">Tweet</a>

Работает как шарм!

Просто используйте ссылку как:

<a href="http://twitter.com/share?related=[your_twitter_account]&via=[your_twitter_account]&lang=[fr]&text=[hello%20world]&url=[www.google.com]">tweet</a>

Просто измените то, что находится между [] (и удалите их), отметьте, что все должно быть RFC (со странными символами, такими как 'пробел', заменен на%20 и т. Д.)

Твиттер предлагает красивую страницу, чтобы сделать кнопки https://about.twitter.com/resources/buttons Но мое решение избегать JavaScript, чтобы заставить дизайн кнопки

Вы можете использовать это:

<a href='https://twitter.com/share?url=google.com&text=Signup>Tweet</a <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,'script','twitter-wjs');</script>  

Вы должны закодировать свой текст, прежде чем вставлять его в ссылку. Правильная процедура:

  1. Закодируйте текст с помощью онлайн-инструмента, подобного этому

  2. Поместите результат в HTML-ссылку ( как предлагает @FenixAoras):<a href="http://twitter.com/share?related=[your_twitter_account]&via=[your_twitter_account]&lang=[fr]&text=[encoded-text]&url=[url]">Share on Twitter</a>


Если вы генерируете свой HTML с помощью php, вы можете использовать функцию urlencode прямо в своем скрипте:

echo "<a href="http://twitter.com/share?text=".urlencode("<your text>")."">Share on Twitter</a>";

Если вы используете WordPress, лучший способ - создать шорткод, поскольку с его помощью вы также можете использовать встроенные функции WordPress:

function tweet_this($atts, $content = null)
{
    extract(shortcode_atts(array(
        "text" => ''
    ), $atts));
    return "<a href='https://twitter.com/intent/tweet?text=".urlencode( $text." - ".get_the_title()." - ".get_permalink() )."'>Share on Twitter</a>";
}
add_shortcode( 'tweet_this', 'tweet_this' );

(Примечание: приведенный выше код - это всего лишь зацепка, вы можете расширить его, и вам нужно будет протестировать)

Применение:

[tweet_this text="my custom text with #hashtag and @Mention"]

Подтвердите, что вы включили правильные скрипты Twitter. А еще лучше, сгенерируйте свой код кнопки твита из интерфейса разработчика Twitter здесь.. https://about.twitter.com/resources/buttons

Если вы хотите изменить содержимое кнопки твита на лету... например, после загрузки страницы, вам нужно будет создать и вставить свою кнопку твита в HTML DOM динамически.

Некоторое руководство по этому вопросу можно найти здесь.

http://denvycom.com/blog/twitter-button-with-dynamic-custom-data-text-message/

Надеюсь, это полезно.

Другие вопросы по тегам