独自アイコンにすると、Facebookシェア数表示が0になる

Simplicityの特徴 フォーラム Simplicity2に関する話題何でも 独自アイコンにすると、Facebookシェア数表示が0になる

このトピックには17件の返信が含まれ、2人の参加者がいます。2 年、 3 ヶ月前わいひら わいひら さんが最後の更新を行いました。

  • 投稿者
    投稿
  • #44481

    simpfan

    こんにちは。いつもお世話になってます。

    先ほど気付いたのですが、私のサイトのすべてのページでFacebookシェア数表示が0になっていました。
    どうやらデフォルトのサービス固有のボタンに設定すると正常に表示されるようなのですが、そうすると今度はTwitterのツイート数が表示されなくなってしまいます。

    そして今Simplicityと寝ログを拝見しましたところ、どちらもFacebookシェア数がすべてのページで0になっているように見えます。
    となるとこれは、私の環境や設定ミスによるものではないと考えていいでしょうか?

    よろしくお願いします。

  • #44482

    hidekichi

    おそらく何かしらの問題が発生しています。
    うちのサイトは、オリジナルのやり方とは変えているので大丈夫ですが、確かにcloud9の方でもfacebookのカウントが本来は0になるところが!と表示されていたりしていたので何かはまだ調べてないですが、問題は出ているだろうと思います。

    wordpressのアップデートに伴うjQuery等のバージョンが上がったり、あるいはjQuery等を読み込んでいる関数に手が入ったのかもしれません。

  • #44484

    hidekichi

    今見てみた所、facebookからのレスポンスがfailになっており、その中を見てみたらシンタックスエラーでjsonが返ってきていて、json.parseがエラーを吐いているようです。

    イケるかどうかはわかりませんが、以前のfacebookのカウント数を覚えている方は、親テーマjavascript.js

    //Facebookのシェア数を取得

    部分のajax(ここにソースを貼れなかったので文字で説明してます)のdataTypeをjsonpからjsonに変えてみてください。
    どうも形式がjsonクサイです。一時的にそうなっているだけかもしれませんし、何か決定的なソースがないとアレですが、たぶんfacebook側の話ではなかろうかと。

  • #44485

    hidekichi

    jsonpじゃないとクロスドメインの制限に引っかかるかもなので、「//Facebookのシェア数を取得」のajax内を以下のように修正かなと。data部分(ソース貼り付けると投稿エラーが出るので)サンプルで。

    サンプル: 親テーマjavascript.jsのfacebook ajax部分 | jsFiddle

  • #44486

    hidekichi

    ブラウザ上(console|→network|→responce)で、json.parseにエラーは出てますが、ajax部分のresの値は#44485でとれてます。

  • #44502
    わいひら
    わいひら
    キーマスター

    #44481
    よかったら、サイトのURLを掲載していただくことは可能でしょうか。

  • #44511

    simpfan

    他の環境でも出ている症状ならあえて書かなくてもいいかと思いましたが、あえて隠すこともありませんね。
    ということで、これが私のサイトです。

    http://yotubaiotona.net/

    少しでもお役に立てるなら嬉しいです。
    よろしくお願いします。

  • #44514

    hidekichi

    ちなみに、Simplicityの公式でもここしばらくfacebookのカウントは0のままですよ。
    ホームとか。New他のカテゴリもそうです。

    SNSのカウントキャッシュが効いているんですかね?apiへのアクセスがないようなので調べてなかったですけれども。

  • #44519
    わいひら
    わいひら
    キーマスター

    このサイトは、SNS Count Cacheを使用しているのに、0になっているんですね。
    全然気づいてませんでした。
    ということは、やっぱりFacebookの仕様変更とかなんでしょうね。

    さっきたまたま見かけたのですが、以下のとかが原因なのかもしれませんね。
    今日は遅いので、明日検証しようと思います。
    あるブログのFacebookシェアボタンのカウント数が取得出来ない – 時期尚早

  • #44521
    わいひら
    わいひら
    キーマスター

    どうやら原因がわかりました。
    javascript.js部分の以下の部分を

    //Facebookのシェア数を取得
    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>');
        });
    }

    以下のように変更するといいみたい。

    //Facebookのシェア数を取得
    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 );
        }).fail(function(){
          jQuery( selector ).html('<span class="fa fa-exclamation"></span>');
        });
    }

    resオブジェクトのシェアカウント格納部分に「 res.shars→res.share.share_count」のような変更があったみたいです。
    とりあえず、修正版は、明日余裕があったら出します。

  • #44552

    Yatra

    便乗質問いたします。

    私はSimplicity 1の利用者です。
    けっこうカスタマイズしていますし、現状で不満もありません。

    そんな私が、ブログでFaceBookのシェア数を表示するにはSimplicity 2にアップデートする必要があるということになりますでしょうか?

  • #44553

    hidekichi

    jQuery( selector ).text( res.share.share_count || 0 );

    ここは確かにres.share.share_countになってますが、これだけだと!が出る状態だったんです。前のレスから色々と試していたん出すけれども、うちのcUrlで拾っているfacebookの方はhttpなので、ん?と思いましてみてたら、うちのスクリプト、

    url:'https//graph.facebook.com/',

    になってました。まさかのコロン抜け(笑)
    テストしてた時は、https:を外してたから気が付かなかったです(笑)

    ということで、エラーは出ないのを確認できました。

  • #44554

    hidekichi

    > Yatra さん

    1.9.3あたりのjavascript.jsを見てみましたが、おそらく

    jQuery( selector ).text( res.shares || 0 );
    
    // ↓
    
    jQuery( selector ).text( res.share.share_count || 0 );

    でイケると思いますよ。色々と2系とは違いますが、今まで行けていたのであればこれだけかと思います。

  • #44555

    k

    こんにちは
    いつもお世話になっています。

    先ほどSimplicity2.2.7にしましたがSNS Count Cacheを使用しているとfacebookのみキャッシュがとれず表示されないままでした。
    SNS Count Cacheを停止するとfacebookのシェア数が表示されました。

    取り急ぎご報告まで

  • #44556

    Yatra

    >hidekichiさん

    ありがとうございます!
    早速教えていただいた通りにやってみました。

    FBのいいね!数が無事に表示されました。
    https://goo.gl/Bb5tt1

    感謝です。

  • #44558
    わいひら
    わいひら
    キーマスター

    SNS Count Cacheは、プラグイン側の問題なので、アップデートを待つか、自前でプラグインのコードを修正してください。

  • #44596

    古沢伸介

    SNS Count Cache プラグインの作者の方に、要望を出したところ、早速対応していただきました。
    0.9.2にアップデートするとfacebookのカウントができるようになっていました。

    https://ja.wordpress.org/plugins/sns-count-cache/

  • #44599
    わいひら
    わいひら
    キーマスター

    要望を出していただけたんですね。ありがとうございます。
    早速アップデートさせていただきました。

トピック「独自アイコンにすると、Facebookシェア数表示が0になる」への新規返信追加は締め切られています。

スポンサーリンク
アドセンス(大)
アドセンス(大)