【2016年8月】facebookのシェアカウントが表示されなくなった時の対処方法

スポンサーリンク

ブログのfacebookのシェアカウントが全て0になっていた為、調べてみたらfacebookAPIの最新バージョンが2.7になり、Propertyなどのフィールド名が所々一新されていました。
どれほどの変更が必要なんだろう。。。と意気消沈していたのですが、複雑な変更をする必要はなく該当の一箇所を変更することによりシェアカウントが表示されるようになったので一安心です。

結論から言うと、
res.shares」となっているところを「res.share.share_count」に変更するだけです。

私は普段wordpressのテーマ「simplicity」を使っているのでこれを例に変更箇所を見ていきます。
変更するファイルは、 /wp/wp-content/themes/simplicity2-child/javascript.js です。
simplicity2-childにjavascript.jsが入っていない場合は親テーマからコピーして持ってきてください。

子テーマに入っているjavascript.jsに親テーマに記述してあるfacebookのシェア数を取得する関数をコピペします。

javascript.js(子テーマ)

function fetch_facebook_count(url, selector) {
    jQuery.ajax({
      url:'https://graph.facebook.com/',
      dataType:'jsonp',
      timeout: 10000, //10sec
      data:{ id:url }
    }).done(function(res){
      jQuery( selector ).text( res.shares || 0 );
    }).fail(function(){
      jQuery( selector ).html('<span class="fa fa-exclamation"></span>');
    });
}

8行目にある「res.shares」を「res.share.share_count」に変更します。

javascript.js(子テーマ)

function fetch_facebook_count(url, selector) {
    jQuery.ajax({
      url:'https://graph.facebook.com/',
      dataType:'jsonp',
      timeout: 10000, //10sec
      data:{ id:url }
    }).done(function(res){
      jQuery( selector ).text( res.share.share_count || 0 );
      // jQuery( selector ).text( res.shares || 0 );
    }).fail(function(){
      jQuery( selector ).html('<span class="fa fa-exclamation"></span>');
    });
}

変更後、サーバーにアップロードしてシェア数が正常に動作しているか確認します。

スポンサーリンク
スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク