【WordPress】Twitterカウント復活!代替APIがあったよ!

11月20日をもって、Twitterの非公式APIである「count.json」が終了して3日。

Twitter:ツイート数取得API「count.json」提供終了のお知らせ

このサイトでは、テーマ「マテリアル」に暫定措置を施して非表示にしていたのですが、

http://www.omoide-soko.jp/apps/wordpress/wordpress/1329

なんと代替のAPIがあることがわかりました。

まだ3日しか経過してないのにね^^;

代替のAPIである「coount.jsoon」

代替のAPIはdigitiminimiという会社がリリースしたAPIのようです。

http://digitiminimi.com/

まずは、ユーザー登録

このAPIを利用するにはサイトとメールアドレスを登録する必要があります。

http://jsoon.digitiminimi.com/

こちらでサイトのURLとメールアドレスを登録します。

しばらくすると「登録完了メール」送られてくるので、記載されているURLにアクセスしてください。

Twitterアカウントを連携するリンクが表示されるので、「連携する」をクリックすれば完了です。

twitter1

収集済みのツイートカウント数が表示されています。サイト全体をクロールするまでにはちょっと時間がかかりそうです。

「SNS Count Cache」を編集

このサイトではプラグイン「SNS Count Cache」を利用していますので、このプラグインのクロール先URLを新しいURLへ変更します。

修正前のAPIのURL

http://urls.api.twitter.com/1/urls/count.json

 

修正後のAPIのURL

http://jsoon.digitiminimi.com/twitter/count.json

class-share-crawler.phpを編集

プラグインのクロール用ファイルに上記の修正を加えます。

ファイルパス:(サイトの場所)/wp-content/plugins/sns-count-cache/includes
ファイル名 :class-share-crawler.php

このファイルの155行目のURLを変更します。

		  if ( isset( $target_sns[SNS_Count_Cache::REF_SHARE_TWITTER] ) && $target_sns[SNS_Count_Cache::REF_SHARE_TWITTER] ) {
	 /* 			$query_urls[SNS_Count_Cache::REF_SHARE_TWITTER] = 'http://urls.api.twitter.com/1/urls/count.json?url=' . $url;*/
	  			$query_urls[SNS_Count_Cache::REF_SHARE_TWITTER] = 'http://jsoon.digitiminimi.com/twitter/count.json?url=' . $url;
		  }

こんな感じで旧URLの1行ををコピーしてコメントアウトした上で新しいURLの行を追記するといいでしょう。

あ、編集の前にはバックアップを取っておくことを忘れずに。

終わったら上書き保存します。これで編集は完了です。

Twitterの収集を有効化

前回のcount.jsonの閉鎖に伴って、プラグインの「SNS Count Cache」のTwitterの収集を無効にしていたのですが、これを復活させます。

twitter2

コントロールパネルの「SNS Count Cache」-「設定」からTwitterのチェックボックスを入れて保存します。

twitter3

サイト全体の収集には時間がかかるので、「0」が多いですが、これはしばらくすると上がってくるかな・・
元々0なのも多いというのは内緒ですけど^^;

テーマに加えた修正を元に戻す

ブラグインに対する修正と設定は完了したので、フロントページに表示を復活させてみましょう。

「マテリアル」親テーマファイルである、

  • sns_count.php
  • share.php

を元に戻します。

sns_count.php

<?php if(function_exists('get_scc_twitter')){ ?>
	<p class="share-count-top"><span class="lsf twitter">twitter </span><?php echo get_scc_twitter() ?></p>
<?php } ?>

<?php if(function_exists('get_scc_facebook')){ ?>
	<p class="share-count-top"><span class="lsf fb">facebook </span><?php echo get_scc_facebook(); ?></p>
<?php } ?>

<?php if(function_exists('get_scc_hatebu')){ ?>
	<p class="share-count-top"><span class="lsf hatebu">hatenabookmark </span><?php echo get_scc_hatebu(); ?></p>
<?php } ?>

<?php if(function_exists('get_scc_pocket')){ ?>
	<p class="share-count-top"><span class="icon-pocket"></span><?php echo get_scc_pocket() ?></p>
<?php } ?>

Twitterの部分をコメントアウトしていたので、それをを外します。せっかくなので、Pocketはそのままにしておきましょう。

share.php

<!-- twitter -->

<?php
$count_blind_twitter = False;
if(!function_exists('scc_get_share_twitter')){
	$count_blind_twitter = true;
}
if($is_scc_old_version && !is_singular()){
	$count_blind_twitter = true;
}
if(!$is_scc_old_version && !is_singular() && !is_front_page()){
	$count_blind_twitter = true;
}
?>

<div class="share-count-button">
<a class="no-deco" target="_blank" href="https://twitter.com/intent/tweet?url=<?php echo $url_encoded ?>&text=<?php echo $title_encoded; if(get_option("mention")){echo "&via=".get_option("twitter_account");} ?>">
<p class="share-button twitter lsf" style="<?php if($count_blind_twitter){ ?>line-height:55px; font-size:2.2em;<?php } ?>">twitter</p>
</a>
<?php if(function_exists('scc_get_share_twitter')){
	if(is_singular()){ ?>
		<p class="share-count"><?php echo scc_get_share_twitter(); ?></p>
	<?php }else if(is_front_page() && !$is_scc_old_version){ ?>
		<p class="share-count"><?php echo scc_get_share_twitter(array( post_id => 'home' )); ?></p>
	<?php } ?>
<?php } ?>
</div>

4行目のTrueをFalseに、20-26行目のコメントアウトを外します。

これで元に戻るはずです。

マテリアルは「SNS Count Cache」を使っているので、こういった場合も簡単に変更できて素晴らしいですね!

しばらく、これでうまくいくかを様子を見ていきたいと思います。

参考記事

http://creatorclip.info/2015/11/sns-count-cache-count-jsoon-tweet/

「【WordPress】Twitterカウント復活!代替APIがあったよ!」への2件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です