最近SNSシェアボタンを作り直した@It_is_Rです。
せっかく作ったんだから、シェアするのだよ、みんな。
そこで今回は、Twitter や Facebook、GooglePlus、はてなブックマーク、Pocket にシェアするボタンの作成方法を記事にしました。
これから記述していく方法に沿って作っていただければ、簡単にカウント数付きのSNSシェアボタンを自作することができます。
もちろん、厄介なTwitterのツイート数も取得します!
SNS Count Cache
今回は、SNS Count Cacheというプラグインを使用します。
WordPressの「新規追加」から「SNS Count Cache」を検索し、今すぐインストールをクリックして追加しておきましょう。

ただ、TwitterとFacebookに関しましては、ちょっと手間がかかります。
以下でその方法を紹介します。
Twitterのツイート数を取得する為に
では、Twitterのツイート数を取得しましょう。が、今は公式のツイートボタンではツイート数の取得ができなくなってしまったんですね。これだいぶ前の話です。
そこで、ツイート数を取得するには「widgetoon.js & count.jsoon」を使います。
widgetoon.js & count.jsoonを使う
「widgetoon.js & count.jsoon」は、株式会社ディジティ・ミニミが運営する、Twitterのツイート数を提供してくれるサービスです。
widgetoon.js & count.jsoon
では、登録してみましょう。
上記のリンクからサイトへ飛びましたら「サイト登録申請」をクリックします。

利用規約を一読して「ご利用規約に同意しました。」にチェックを入れます。
後は、使用したいサイトのURLと、自分のメールアドレスを入力します。
「サイト登録」をクリックした後、1日〜2日後にメールが届きます。
登録までに時間がかかるので、気長に待ちましょう。
メールが届いたら、そのメールのリンクからマイページへ飛ぶことができます。
そこで、自分のTwitterと連携させておくことをおすすめします。
その方が早く取得できるとかできないとか。その真相は……知らん。

「SNS Count Cache」でTwitterの設定
では、WordPressの方を操作していきます。
左側のメニューから「SNS Count Cache」→「設定」をクリックします。
「シェア基本キャッシュ機能」という項目を探します。初期設定ではTwitterのチェックが外れていると思いますので、チェックを入れて「設定の更新」をクリックします。

すると「シェア基本キャッシュ機能 – Twitter」という項目が現れますので、「widgetoon.js & count.jsoon」を選択して「設定の更新」をクリックします。

Facebook のシェア数を取得する為に
では、Facebookのシェア数を取得するには、「Facebook Developers」にて、新しいアプリを登録します。

Facebookにログインし、上の画像のように「新しいアプリを追加」をクリックすると、次のようなフレームが開きます。
名前(サイト名など)とメールアドレスを入力し、「アプリIDを作成してください」をクリックします。

「ダッシュボード」を選択し、「アプリID」と「app secret」を確認します。
app secretが、表示されていなければ、右端の「表示」をクリックして、facebookのパスワードを入力すると表示されます。

今度はWordPressの方を設定をしていきましょう。
左側のメニューから「SNS Count Cache」→「設定」をクリックします。
「シェア基本キャッシュ機能 – Facebook」という項目を探します。
先ほどの「アプリID」と「app secret」を、ここに貼り付けましょう。すると、Facebookのシェア数を取得できるようになります。
それぞれのシェア数を表示
GooglePlus、はてなブックマーク、Pocketについては特に何もする必要はありません。そのままコードを貼り付ければ、シェア数が表示されます。
if(function_exists( 'scc_get_share_twitter' )) echo scc_get_share_twitter(); if(function_exists( 'scc_get_share_facebook' )) echo scc_get_share_facebook(); if(function_exists( 'scc_get_share_gplus' )) echo scc_get_share_gplus(); if(function_exists( 'scc_get_share_hatebu' )) echo scc_get_share_hatebu(); if(function_exists( 'scc_get_share_pocket' )) echo scc_get_share_pocket();
上記のコードで、シェア数を表示させることができます。が、これでは数字のみしか表示されません。
そこで、コードを以下のように改変しましょう!
PHP
<div class="social-like">
//Twitter
<div class="social-like__item">
<a href="http://twitter.com/share?text=<?php the_title() ?>&url=<?php the_permalink() ?>" target="_blank">
<div class="social-like__count">
<?php if(function_exists('scc_get_share_twitter')) echo scc_get_share_twitter(); ?>
</div>
<div class="social-like__btn social-like__btn--color-twitter">
Tweet
</div>
</a>
</div>
//Facebook
<div class="social-like__item">
<a href="https://www.facebook.com/sharer/sharer.php?u=<?php the_permalink() ?>&t=<?php the_title() ?>" target="_blank">
<div class="social-like__count">
<?php if(function_exists('scc_get_share_facebook')) echo scc_get_share_facebook(); ?>
</div>
<div class="social-like__btn social-like__btn--color-facebook">
Facebook
</div>
</a>
</div>
//GooglePlus
<div class="social-like__item">
<a href="https://plus.google.com/share?url=<?php the_permalink() ?>" target="_blank">
<div class="social-like__count">
<?php if(function_exists('scc_get_share_gplus')) echo scc_get_share_gplus(); ?>
</div>
<div class="social-like__btn social-like__btn--color-googleplus">
GooglePlus
</div>
</a>
</div>
//はてブ
<div class="social-like__item">
<a href="http://b.hatena.ne.jp/entry/<?php the_permalink() ?>" target="_blank">
<div class="social-like__count">
<?php if(function_exists('scc_get_share_hatebu')) echo scc_get_share_hatebu(); ?>
</div>
<div class="social-like__btn social-like__btn--color-hatebu">
はてブ
</div>
</a>
</div>
//Pocket
<div class="social-like__item">
<a href="https://getpocket.com/edit?url=<?php the_permalink() ?>" target="_blank">
<div class="social-like__count">
<?php if(function_exists('scc_get_share_pocket')) echo scc_get_share_pocket(); ?>
</div>
<div class="social-like__btn social-like__btn--color-pocket">
Pocket
</div>
</a>
</div>
</div>
.social-like {
padding: 0;
text-align: center;
font-size: 13px;
}
.social-like__item {
display: inline-block;
padding: 0 5px;
}
.social-like__count {
padding: 5px;
border-radius: 5px;
border: 1px solid #999;
margin-bottom: 3px;
position: relative;
color: #000;
}
.social-like__btn {
color: #fff;
padding: 5px;
border-radius: 5px;
}
.social-like__btn.social-like__btn--color-twitter {
background: #1da1f2;
}
.social-like__btn.social-like__btn--color-facebook {
background: #3b5998;
}
.social-like__btn.social-like__btn--color-googleplus {
background: #dd4f43;
}
.social-like__btn.social-like__btn--color-hatebu {
background: #00a4de;
}
.social-like__btn.social-like__btn--color-pocket {
background: #ee4056;
}
クリックしたあなた、これは画像なのでクリックしても意味ないです。
後は、アイコンを表示させてみたり、数値をクリックすると実際につぶやかれたTwitterのページに飛んだりなどさせてみても面白いかもしれません。














