生活、創作活動、WEBに密着した役立つ情報をお届けしています

【WordPress】PHPでSNSボタンのFacebookいいね数を表示させる方法

   

以前、wordpressでソーシャルボタンを自作して設置する方法をご紹介しました。

ところが、Facebook APIのシェア数取得の仕様変更により、いいね数が表示できなくなったようです。

wordpress_facebook_like4

他のソーシャル共有数は表示されているのにFacebook だけ表示されないのは、何か気持ちが悪いですね。

スポンサーリンク

なので、Facebook APIの仕様変更に合わせ、PHPを利用していいいね数を表示できるようにしてしまいましょう。

まず、function.phpに以下のコードを追記します。


function fetch_facebook_count($url) {
  //URLをURLエンコード
  $encoded_url = rawurlencode( $url );
  //Facebookにリクエストを送る
  $response = wp_remote_get( 'http://graph.facebook.com/?id='.$encoded_url );
  $res = 0;

  //取得に成功した場合
  if (!is_wp_error( $response ) && $response["response"]["code"] === 200) {
    $body = $response['body'];
    $json = json_decode( $body ); //ジェイソンオブジェクトに変換する
    $res = ($json->{'share'}->{'share_count'} ? $json->{'share'}->{'share_count'} : 0);
  }
  return $res;
}

wordpress_facebook_like3

次に、sns.phpなどソーシャルボタン用のテンプレートファイル内のFacebookコードのカウント箇所に下記のコードを記載します。

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

wordpress_facebook_like2

これで完了です。

Facebookいいね数が復活しました!

wordpress_facebook_like1

function.phpとソーシャルボタン用のphpファイルにコードをコピペするだけなので、Facebookいいね数が急に表示されなくなった!という方はぜひともお試し下さいませ。

ご観覧ありがとうございました!

スポンサーリンク