Twitter按钮不显示Tweet的URL

时间:2013-04-20 19:18:26

标签: php wordpress twitter

我正在尝试在我的wordpress网站上实现“推文”按钮,并且我遇到了一个问题,即网址未在推文中显示。

它显示主题标签和帐户,但不显示网址。

我的代码如下:

<a href="https://twitter.com/share" class="twitter-share-button" data-url="<?php echo urlencode(get_permalink($post->ID)); ?>" data-via="mixtapes_4_free" data-related="realdannys" data-hashtags="mixtape">Tweet</a>

如果我不使用data-url,那么它只是插入基本域名而不是完整的URL。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

您是否尝试过Twitter页面上的代码?看一下twitter API here

答案 1 :(得分:1)

您缺少javascript代码。

您可能从HERE

获取了代码

要共享链接,javascript代码为

<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

只需在锚标记后添加此代码即可。

答案 2 :(得分:1)

我有以下代码:

<a href="<?php echo $tweet_url; ?>" class="twitter-share-button" data-url="=<?php the_permalink(); ?>" data-via="<?php echo of_get_option( 'ac_twitter_username' ); ?>" data-lang="en" data-related="anywhereTheJavascriptAPI" data-count="vertical">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

但那不起作用,所以我尝试了简化版本:

<a href="http://twitter.com/share?url=<?php echo urlencode(wp_get_shortlink()); ?>&amp;counturl=<?php urlencode(the_permalink()); ?>" class="twitter-share-button" data-count="vertical" data-via="<?php echo of_get_option( 'ac_twitter_username' ); ?>">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

这个工作得很好。请记住,用户名必须以某种方式集成到您的主题设置中,如果不是,您可以更改:

<?php echo of_get_option( 'ac_twitter_username' ); ?>

用于您的推特用户名。

我希望这有效,我花了一段时间才找到这种更通用的方法。我不完全清楚我在做什么,所以如果有人发现这种方法有问题,请告诉我。到目前为止,它运作良好。

谢谢!