1

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

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

我的代码如下:

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

有任何想法吗?

4

3 回答 3

1

You are missing javascript code.

You probably got your code from HERE

For sharing a link, the javascript code is

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

Just add this code after your anchor tag.

于 2013-04-20T20:56:52.867 回答
1

您是否尝试过 Twitter 页面上的代码?看看这里的 twitter API 。

于 2013-04-20T19:25:19.833 回答
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' ); ?>

为您的推特用户名。

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

谢谢!

于 2015-05-18T07:15:41.350 回答