Twitter分享按钮不转发自定义文本

时间:2011-11-11 11:01:47

标签: button twitter

我正在开发一个网站,每个特定产品都有Twitter分享选项。

我按照Twitter 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>

问题似乎与数据文本选项有关。

有这方面的经验吗?想法? 感谢

5 个答案:

答案 0 :(得分:5)

在Wordpress上我刚使用<a href="https://twitter.com/share?url=google.com&text=your text here">Tweet</a>

像魅力一样!

答案 1 :(得分:4)

只需使用以下链接:

<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(有奇怪的字符,例如&#39;空格&#39;由%20等替换。)

twitter提出了一个很好的页面来制作按钮 https://about.twitter.com/resources/buttons#tweet 但我的解决方案避免使用javascript强制设计buton

答案 2 :(得分:1)

您可以使用:

<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>  

答案 3 :(得分:0)

确认您已包含正确的Twitter脚本。更好的是,在这里从twitter开发者界面生成你的推文按钮代码。 https://about.twitter.com/resources/buttons

如果您想动态修改tweetbutton内容......例如在页面加载后,您必须动态创建并将您的推文按钮插入到html DOM中。

有关这方面的指导可以在这里找到。

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

希望这很有帮助。

答案 4 :(得分:0)

您必须先对文本进行编码,然后才能将其插入链接。正确的过程是:

  1. 使用this one

  2. 之类的在线工具对文本进行编码
  3. 将结果放入HTML链接(as suggested by @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>


如果您使用php生成HTML ,则可以直接在脚本中使用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"]