SimplicityのTwitterボタンにcount.jsoonを用いてツイート数を表示するカスタマイズ方法

Simplicity2.0.1でこの記事で書かれているカスタマイズ方法を機能化しました。

先日、count.jsoonという廃止されたTwitterのシェア数(ツイート数)を取得できるAPIの存在を知りました。

で先日、このAPIを利用してPHPと組み合わせて、ツイート数を取得する方法について書きました。

count.jsoon APIを用いて、Twitterのcount.json APIのようにツイート数を取得する方法です。今回は、Wordpress上でPHPを用いてシェア数を取得します。

ただ、この方法は、どんなテーマでもカスタマイズ出来るように、汎用的な書き方をしました。

ですので、Simplicityに適用させるには、具体的にどのようにすればよいかわからない方もおられたかと思います。

そこで、この記事では、Simplicityでどのようにカスタマイズすれば、ツイート数を表示することができるか、具体的に書きたいと思います。

なお、今回のカスタマイズは、Simplicity1.9.3以上推奨です。また、子テーマを利用したカスタマイズを想定して方法を書きます。

スポンサーリンク

主な手順

count.jsoonとPHPでツイート数を取得できるようにカスタマイズするのに必要な主な手順は以下です。

  1. count.jsoonにウェブサイト登録
  2. カスタマイザーの設定
  3. functions.phpに関数をコピペ
  4. sns-button-twitter.phpで関数を呼び出す

登録してシェア数の収集を待つのが一番大変かも。

count.jsoonにウェブサイト登録

まずは、count.jsoonにウェブサイトを登録する必要があります。

登録方法については、以下に書いてあるので手順に従って登録してください。

widgetoon.jsスクリプトと、count.jsoonAPIサービスを利用して、サイトやページごとのツイート数を取得するWordpressカスタマイズ方法の紹介です。count.jsoonコードの使い方など。

count.jsoonは、登録してからシェア数情報を収集するので、カウントが反映するまで結構時間がかかります。(だいたい3日~10日くらい?)

カスタマイザーの設定

まずは、PHPで直接表示するのにSNSボタンは「デフォルト(サービス固有のボタン)」を

表示させます。

「外観→カスタマイズ→SNS」から「シェアボタンのタイプ(PC)」を「デフォルト(サービス固有のボタン)」に設定してください。

シェアボタンのタイプ(PC)

「サービス固有のボタン」というのは、このタイプのボタンのことです。

サービス固有のボタンの表示例

functions.phpに関数をコピペ

次に子テーマのfunctions.phpに以下のコードをコピペして追記します。

//count.jsoonからTwitterのツイート数を取得
function fetch_twitter_count($url){
  $url = rawurlencode( $url );
  $subscribers = wp_remote_get( "http://jsoon.digitiminimi.com/twitter/count.json?url=$url" );
  $res = '0';
  if (!is_wp_error( $subscribers ) && $subscribers["response"]["code"] === 200) {
       $body = $subscribers['body'];
    $json = json_decode( $body );
    $res = ($json->{"count"} ? $json->{"count"} : '0');
  }
  return $res;
}

引数にURLを指定すると、そのURLのツイート数を返す関数です。

sns-button-twitter.phpで関数を呼び出す

次に、親テーマからsns-button-twitter.phpファイルをコピーして、子テーマフォルダ内に貼り付けてコピーファイルを作成します。

子テーマ内のsns-button-twitter.phpファイルを開いて以下の部分を探して

<span class="fa fa-comments"></span>

以下のように変更してください。

<?php echo fetch_twitter_count( get_permalink() ); ?>

すると、以前はこんな感じだったのが、

サービス固有のボタンの表示例

こんな感じでツイート数つきで表示されます。

ツイート数を取得したサービス固有ボタンン

まとめ

count.jsoonに登録したてならば、あとはひたすらツイート数の収集を待ちます。

数日ほどたてば、少しずつ、ツイート数が反映されるのではないかと思います。

count.jsoonで正しい数字が表示されるかわかりません。ただそれをいえば、Twitterのcount.json自体も正しい数字が出ていたわけではないけど。正しくない数字ということで、辞める理由の一つとなっていたし。

あと、count.jsoonを利用してのTwitterシェア数の表示は、Simplicityのデフォルトを機能にするつもりは今のところありません。

というのも、利用するのにサイト登録という初期設定が必要だからです。ブログの初期設定時に、設定することが多すぎると(今でも十分多いのに)、僕だったら、面倒くさくなるので、デフォルト機能にはしないと思います。

ですので、ツイート数を表示させたい場合は、各自の責任で、独自カスタマイズでお願いします。

Twitterボタンも非同期読み込みがされる

↑上記のようなSimplicityの独自バルーンボタンや、バイラルボタンなどにツイート数を表示するには、以下の方法を行ってください。

Simplicity2.0.1でこの記事で書かれているカスタマイズ方法を機能化しました。 先日、count.jsoonという廃止されたTw...
スポンサーリンク
アドセンス(大)
アドセンス(大)

スポンサーリンク
アドセンス(大)

コメント

  1. あるご より:

    バイラルタイプのTwitterボタンにも
    数字を表示させたいのですが、どうすればよいでしょうか

  2. あるご より:

    >>わいひらさん
    できました。ありがとうございます!