ちょっとした備忘録です。WordPressのトップページで公式ツイートボタンをプラグインなどを使わないで表示させる場合、どのボタンを押しても全部がトップページのURLになってしまいます。普通に記事単体のページにつけた公式ツイートボタンはちゃんとその記事のURLを反映してくれるので、トップページの場合、各記事のパーマリンクの設定がされてないのが原因みたいですね。
[ads_center]
各記事別のURLを反映させる
ということで、ツイートボタンを表示させるコードをfunctions.phpに書いている場合のやり方です。
// Twitter function twitter_button() { echo '<li><a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-text="RT @ユーザー名 :'; the_title(); echo '" data-url="'; the_permalink(); echo '" data-lang="en">Tweet</a></li>'; }
フッターなどに以下も記述しておきます。
<script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>
あとはボタンを表示させたい場所に以下を追加すればOKです。
<?php twitter_button(); ?>
で、重要なポイントとしてはtwitter_button内にあるdata-urlです。これにthe_permalink()を設定しておかないとトップページの場合、各記事URLが反映されません。ツイッター公式サイトからコードを取得してもデフォルトでは入ってなかったので追加しておく必要があります。
これで、トップページからの各記事のボタンをクリックしてツイートする場合でも、ちゃんとその記事URLを挿入してくれるようになります。
参考サイト