【WordPress】ツイート数が取得できなくなったSNS Count Cacheを「count.jsoon」で復活させる方法
11月21日(土)からTwitterのツイートボタンの仕様が変更され、ツイート数の取得が不可能になりました。これに伴ってデザインの変更を余儀なくされた方も多いのではないでしょうか。
これまでオリジナルのSNSボタンで使われてきた「count.json」は元から公式が提供しているものではなかったので、ある日突然サポートを切られても文句は言えません。
「それでも何とかしてツイート数は表示しておきたい…!」と思って調べてみると、代替サービスが出ていたので試験的に実装してみることにしました。
※本ページは広告・アフィリエイトプログラムにより収益を得ています。
消えてしまったツイート数を復活させる「count.jsoon」
count.jsoonとは、自作SNSボタンで多く使われてきたcount.jsonの代わりになる新しいAPIで、消えてしまったツイート数を再取得して表示してくれるありがたいサービスです。
公式のボタンを利用している方は「widgetoon.js」を使ってツイート数付きのボタンが復活できるらしい。
「widgetoon.js」と「count.jsoon」は、TwitterのAPIを使ってツイートを収集、ツイート内のURL情報をカウントしています。APIは、このURL情報を元にツイートされた件数と、公式RTと非公式RTの数を集計、総カウント数を算出します。
引用元:count.jsoon
使い方
まずは使用するサイトのURLとメールアドレスを入力して会員登録をします。
登録を押すと上記のような画面になり、しばらくするとユーザー登録完了のメールが届きます。
記載されたURLにアクセスするとツイートの取得状況が表示されています。これで準備はOK。
あとは従来使っていた「count.json」のアクセス先を書き換えると取得した数値を表示してくれます。
修正前
http://urls.api.twitter.com/1/urls/count.json
修正後
http://jsoon.digitiminimi.com/twitter/count.json
詳しいことについてはAPIの使い方に書かれているので、そちらも合わせてご確認下さい。
SNS Count Cacheのツイート数を復活させる
ようやく本題。上記の方法はプログラムを書いて自分で取得している時の方法です。私はWordPressプラグインの「SNS Count Cache」を利用しているため、プラグインのファイルを直接触る必要があります。
SNS Count Cacheについては、作者様のページで紹介されているのでリンク貼っておきます。
アナウンス全体の文脈から察すると、「代替策としてTwitter REST APIが応用できるよ」とも読めるので、Twitter REST APIの利用について模索しています。
実は、REST API経由のデータを用いたシェア数カウントロジックは、様々な条件がつくものの頭の中ではできていて、実現性の確認中といった状況です。
最終的にどうなるかまだ不明ですが、Twitterのシェア数を表示する手段を皆さんに提供できるよう努力してみます。
引用元:[試] Twitterのシェア数取得先エンドポイント閉鎖がSNS Count Cacheに与える影響 | 試行錯誤ライフハック
今後の対応についても前向きなコメントをしているので、プラグインのアップデートまでの暫定的な対応としておきます。
- 注意事項
- 私の環境では問題なく動いてますが、プログラムには詳しくないため自己責任で行って下さい。ファイルを触る前に必ずバックアップを必ず取ってから作業を行って下さい。
今回修正するファイルはSNS Count Cacheのclass-share-crawler.php
というファイルです。以下のディレクトリに格納されています。
/【WordPressが設置されているディレクトリ】/wp-content/plugins/sns-count-cache/includes/class-share-crawler.php
ファイルを開き、155行目にあるURLをこのように変更して下さい。
修正前
http://urls.api.twitter.com/1/urls/count.json?url
修正後
http://jsoon.digitiminimi.com/twitter/count.json?url
後はファイルを保存してWordPressの管理画面から「SNS Count Cache」→「キャッシュ状況」からキャッシュし直せば、直近のツイート数が復活しています。ただし、過去の記事はツイート数がまだ取得完了していないのか0件のままになっていますね。
これで少し様子を見て問題なければそのまま使っていこうと思います。
追記:ほぼすべての記事でツイート数が復活!
元通りになりました。良かったよかった。
参考記事
以下の記事を参考にさせていただきました。