前回、count.jsoonを用いてシェア数付きのバルーンボタンを設置する方法を書きました。
ただ、上記の記事では、count.jsoonのwidgetoon.jsスクリプトを用いて、Twitterボタンを設置する最も基本的な方法の説明でした。
けれど今回は、count.jsoonのAPIをPHPから利用して、ツイート数(シェア数)のみを取得するWordpressカスタマイズ方法を紹介したいと思います。
目次
主な手順
count.jsoon APIをPHPから利用して、ツイート数を取得するには、主に以下の手順が必要です。
- count.jsoonにWEBサイト登録
- functions.phpにツイート数取得関数をコピペ
- ツイート数を表示したい箇所で関数呼び出し
count.jsoonにサイト登録さえしてあれば、かなり簡単な作業です。
count.jsoonにWEBサイト登録
まず、count.jsoonでツイート数を取得するには、該当サイトを登録してある必要があります。
登録方法は、以下に書いてあるので、とりあえずWEBサイト登録をしてください。
登録後にcount.jsoonは、ツイート数を収集するので、ある程度(数日ぐらい)待たないと、ツイート数が反映されないと思います。
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のツイート数を返す関数です。
ツイート数を表示したい箇所で関数呼び出し
あとは、ツイート数を表示したい箇所に以下のコードを書いて関数を呼び出します。
<?php echo fetch_twitter_count( get_permalink() ); ?>
上記のコードはget_permalink()を用いているので、投稿・固定ページ用で表示するテンプレートで使用します。
以下のように、直接URLを指定して利用することもできます。
<?php echo fetch_twitter_count('https://nelog.jp/'); ?>
適用例
例えば、CSSで以下のようなボタンを作成して、バルーン内で「ツイート数取得関数」を呼び出せば、以下のように表示させて利用することもできます。
まとめ
count.jsoonのAPIは、Twitterの「非公式ツイート数取得API」であったcount.jsonと、ほとんど使い方が同じです。
なので、以前の取得用コードを少し手直しするだけで簡単に「ツイート数取得関数」を作成して利用することができました。
count.jsoonは、サイト登録作業が必要で、しかもツイート数を収集するまでは、しばらく時間はかかります。けれど、どうしても自分のサイトに、ツイート数を表示させたい場合は、利用してみると良いかもしれません。
次は、jQueryを用いたツイート数の取得方法を書きたいと思います。
追記:書きました。