feedlyの表示がおかしい

Simplicityの特徴 フォーラム Simplicityについての質問 feedlyの表示がおかしい

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

  • 投稿者
    投稿
  • #33476 返信

    マグ

    simplicityの1.9.0を使用しています。
    外観→カスタマイズ→SNS→ [feedlyボタンの表示(PCのみ吹出付)]にチェックをうってfeedlyボタンを表示しています。
    PCから見た場合に吹き出し部分に数字が表示されずに真っ白な状態です。

    ボタン自体は機能している様子です。
    スマホから見ると数字の確認はできます。
    すいませんが、対処方法をお願いいたします。

  • #33479 返信

    やまりん

    simplicityの1.9.0にいれかえましたところ、feedlyのカウントがぐるぐる回っています。
    バイラルタイプです。
    先行投稿の方と同じ現象だと思われます。

  • #33481 返信

    Hidekichi

    やまりんさんの症状としては、マグさんのとはちょっと異なるかと思います。
    どちらかというとjavascript.jsに書かれているfeedlyのカウント取得の部分からカウント値を取得できないためクルクル回るスピナーが表示されていると思われます。

    autoptimizeやhead cleaner等のjavascriptをひとまとめにするようなプラグインを停止したり、キャッシュ系プラグインが入っていたら一旦停止して、キャッシュを削除などして様子を見てみて下さい。

    chromeやfirefoxなどのモダンブラウザでf12キーよりweb開発環境のパネルが表示されます。ここのconsoleに表示されているエラー等から原因を探っていく必要があるかと思います。

    マグさんの場合、スマホでは見れるということなのでSimplicity自体は正常に動作していると思われます。ブラウザの種類を変えてみたりしてどのようになるかが気になる所です。

    カウントの原理としては、まずfont awesomeのスピナーが普通に表示されます。そこにjQuery等でそれぞれのSNSのカウント値(値自体はPHP等で取得している)をajaxで読み取り、読み取ることができたらfont awesomeのスピナーをカウント値で上書きしています。

    なので、やまりんさんの場合は、PHPでカウント値が取得できていないか、ajaxによって取得したカウント値が表示できていないかが問題となっているようです。
    マグさんの場合は、font awesome自体がPCで表示されていないので、これは何故表示されていないかがいまいち特定しきれません。
    ただスマホで表示されているということから、PCのブラウザに問題があるように思うんですが、お二人共それぞれのサイトを見てみたわけではないので、あくまで想像でしか返答できません。

    Simplicity公式サイトは最新バージョンをほぼデフォルトで利用しているらしいので、公式にも問題がでていれば、feedly側(apiの仕様が変更された等)の問題と思うんですけれども、公式では問題なく表示されているようなので、各々の環境的なものかと思われます。

  • #33493 返信

    マグ

    お返事遅くなりました。
    ブラウザはクロームを使用していてIEに変えても症状は変わらずです。
    他のPCを使用して確認してもダメでした。

    プラグインをすべて停止しても解決されません。

    特殊な事はしていないつもりですが、気になる部分を書いてみますね。
    ●FC2ブログから引っ越してきたためパーマネントはカスタムで「/%postname%.html」にしています。
    アドレスは独自ドメイン/blog-entry-100.htmlとなる設定です。
    新規の記事も末番の数字を1ずつ増やしていく感じで投稿しています。

    ●RSSはFC2時代は独自ドメイン/?xmlでした。
    今は独自ドメイン/feed どの様です。
    ?xmlも使用したいためプラグイン「Redireciton」で独自ドメイン/feedへ転送しています。
    このプラグインを停止してもダメでした。

    ●最後にとても気になる点があります。
    アドレスバーに独自ドメイン/feedを打ち込めば中身が見えます。
    ?xmlを打ちこむと転送されて独自ドメイン/feedとなり中身が見えます。

    livedoor rssにフィードを登録した場合ですが、
    独自ドメイン/feedだとブログタイトルが空白で取得できないようです。
    転送されてるはずの独自ドメイン/?xmlだと取得できます。

    この辺りが今回の原因に絡んでいる感じがします。
    もし何かわかりましたらよろしくお願いいたします。

  • #33497 返信

    Hidekichi

    例えば urlencodeできるサイト を何かしらのタブに開いておいて、自身のサイトの右上にデフォルトなら表示されているrssのアイコンを右クリックして「urlをコピー」します。で、さっき開いておいたurlencodeのサイトにfeedのアドレスを入れてエンコードします。

    ■feedlyのapiアドレス
    http://cloud.feedly.com/v3/feeds/feed%2F

    このアドレスに続いて、エンコードされたfeedのアドレスを付け加えます。
    うちのサイトであれば以下のようになります。

    http://cloud.feedly.com/v3/feeds/feed%2Fhttp%3A%2F%2Fblazechariot.wp.xdomain.jp%2Ffeed

    これをまた別のタブを開いて、直接apiを叩いてみます。
    そうすると、

    {“id”:”feed/http://blazechariot.wp.xdomain.jp/feed”,”feedId”:”feed/http://blazechariot.wp.xdomain.jp/feed”,”language”:”ja”,”title”:”blazechariot -Xdomain-“,”velocity”:0.9,”subscribers”:4,”website”:”http://blazechariot.wp.xdomain.jp”,”description”:”Just another WordPress site”}

    こういうのが出てくると思います。もし出てこない場合はfeed自体がfeedlyに登録できない形なんじゃなかろうかと思います。で、想像では上のはおそらく出てくると思うんですよ。スマホやらでは表示できるみたいなので。

    feedlyに登録されていて、そのフィードのアドレスが取得できるなら(直接apiを叩いて情報が出るなら)、Simplicityのfeedly取得サーバー側スクリプトは動作していると想像できます。

    しかし問題は、fontAwesomeのスピナーが出ないことなのです。真っ白と言うことはfeedly表示部は一応表示されていて、カウント値が表示されていないわけですよね?
    もし仮にスクリプトに問題があって値が取得できていない場合は、fontAwesomeのスピナーがずっと回っているはずなのです。

    先のレスでも書きましたが、その回っているスピナーを取得したカウント値で上書きするのがSimplicityの仕組みです。もし仮に値が取得できない場合は0が表示されると思います。つまり、どういう状況であっても本来は数値かスピナーがそこにはあるはずなのです。

    なので、そのアイコン部にスピナーが表示されない時があると考えるとそちらの方が問題に思います。

    マグさんが「これっぽい」と思われている部分は、feedのアドレスの仕組みやリダイレクトなので、そこに問題がある場合は直接apiを叩いても
    “subscribers”:カウント値
    が取得できないはずです。しかしスマホやらでは表示されると考えるとそれはどのフィードアドレスかはわかりませんが何かしら動作しているわけです。つまりリダイレクトやアドレスの種類が異なったとしても動作しているわけですから、Simplicity本来の動作をすればスピナーか数値がfeedly部分に表示されるはずなのです。

    fontAwesomeのスピナーはいわゆるフォントアイコンです。デフォルトではspanタグによって埋め込まれているだけなので、他のSNSのアイコン等が表示されていたら必ず表示されているはず。それが無いと考えれば、Simplicityのfeedly取得PHPスクリプト(lib/fetch-feedly.php)にカウント取得失敗時の処理に不備があり、0が返ってきていない為「空白文字」が返ってきているのかも知れません。

    lib/fetch-feedly.phpはsns.phpの中の関数、function fetch_feedly_count(){部分が動作しています。
    $res = ($subscribers ? $subscribers : ‘0’);とあるように、$subscribersが真の時はその値、偽の時は0が返るようになっています。

    なのでここからもfeedlyの表示部分にはスピナーか0のどちらかが表示されるはずなのです。もし例外があると考えると、feedアドレス自体が取得できていないと普通なら思うわけですが、スマホではイケてると言うことなので、問題点が特定できないと僕は思ってしまうのです。

    ひとまず1つずつ試していくしか無いかと思われますので、apiの状況はどうかと、そもそものfontAwesomeは表示されているか、またその表示される場所のセレクタは([span class=”social-count feedly-count”]カウント値[/span] ←〈〉で書くとspanが有効になってしまうので[]で書いてます)があるかどうか等を確認からでしょうか。
    ※カウント値の部分にはデフォルトでは[span class=”fa fa-spinner”][/span]みたいのが入っているかと思います。

  • #33500 返信

    マグ

    詳しいお返事ありがとうございます。

    直接APIを叩いてみました。
    {“id”:”feed/htt という文字列が出てきて、subscribersで件数も取得出来ているみたいです。

    >>真っ白と言うことはfeedly表示部は一応表示されていて、カウント値が表示されていないわけですよね?
    その通りです。
    Twitter、はてぶ、google+などの他の吹き出し部分には数字は表示されています!

    >>その表示される場所のセレクタは([span class=”social-count feedly-count”]カウント値[/span] ←〈〉で書くとspanが有効になってしまうので[]で書いてます)があるかどうか等を確認からでしょうか。

    すいません。
    この部分がどこの場所にあるかが分かりませんでした。
    lib/sns.phpの中にはなかったです。

    feedly関係の部分を張り付けておきますね。

    //feedlyの購読者数取得
    function fetch_feedly_count(){
    $feed_url = rawurlencode( get_bloginfo( ‘rss2_url’ ) );
    $res = ‘0’;
    $subscribers = wp_remote_get( “http://cloud.feedly.com/v3/feeds/feed%2F$feed_url” );
    if (!is_wp_error( $subscribers ) && $subscribers[“response”][“code”] === 200) {
    $subscribers = json_decode( $subscribers[‘body’] );
    if ( $subscribers ) {
    $subscribers = $subscribers->subscribers;
    set_transient( ‘feedly_subscribers’, $subscribers, 60 * 60 * 12 );
    $res = ($subscribers ? $subscribers : ‘0’);
    }
    }
    return $res;
    }

    //不具合対策用のfeedlyの購読者数取得の別名
    function get_feedly_count(){
    return fetch_feedly_count();
    }

    以上となります。

  • #33502 返信

    Hidekichi

    >[span class=”social-count feedly-count”]カウント値[/span]

    これは、ブラウザでfeedlyのカウント表示部分を右クリックして「要素を調査(みたいなの)」から開くweb開発環境のパネルからhtmlの構造がどうなっているかを指しています。

    流れとしては、
    [span class=”social-count feedly-count”]
    [span class=”fa fa-spinner”][/span] ←スピナーアイコン
    [/span]

    jQuery(ajax)でカウント値取得してできたら、

    [span class=”social-count feedly-count”]カウント値[/span]

    こうなります。

  • #33505 返信

    マグ

    右クリックして要素を検証した結果です。
    私のアドレスも分かると思いますので、検証に役立ててください。

    <li class=”feedly-btn feedly-btn-vertical”>
    <div id=”feedly-followers”>
    <span id=”feedly-count” class=”fdly-count”></span>


    </div>

  • #33506 返信

    マグ

    追記です。
    色々と設定を触って確認してみて分かった事があります。
    ソーシャルボタンのタイプを変えてみました。

    ・デフォルト(サービス固有のボタン)
    ・サイドに追従シェアボタンを表示
    この2点のみカウントが空白で表示されていないです。

    ■他のタイプは全部OKでした。
    タイトル下にシェアボタンを表示
    テーマカラータイプ(高速)
    Twitterタイプ(高速)
    バイラルタイプ(高速)
    バイラル白タイプ(高速)

    もし原因が分からない感じでしたら、ボタンのタイプを変えることにしますね。

  • #33508 返信

    Hidekichi

    sns-buttons-default.phpの最後の方、

    [span id=”feedly-count” class=”fdly-count”]

    [span id=”feedly-count” class=”feedly-count”]

    と修正したらどうでしょうか?
    ※〈〉は[]で書いてます。classの部分をfeedly-countにするだけです。

    もしこれが原因だとすれば、その内にわいひらさんが修正バージョンを出してくれるかと思います。

  • #33509 返信

    Hidekichi

    あ、これだけでは足らないかも。
    けどここらと思うので朝方にもう一度検証してみます。

  • #33511 返信

    Hidekichi

    うまくいくかどうかは不明ですけれども

    サンプル: 取得する関数を変えてみる | jsFiddle
    ※ fiddle画面でrunを押しても正しく動作しません
    ※ このフォーラムのcodeでソースを入れると管理人以外の投稿はエンティティされるので無理やりjsFiddle利用してます。

    まさかのデフォルトSNSボタンの利用だったので思いがけぬ所からやられたと言う感じでしたが、sns-buttons-default.phpのfeedlyのカウントを取得している関数(あるいは変数)を変更することで、関数自体がうまく読み込めればイケるんじゃなかろうかと思います。

  • #33512 返信

    Hidekichi

    おそらく、Simplicityのバージョン1.8後半だったか1.9あたりの時に、わいひらさんがfunctions.php(あるいは他のファイルも)を細分化してわかりやすくまとめたというようなことをどこかに書いていたかと思います。
    その際に、元々取得していたfeedlyのカウント変数がどこかに行ってしまったか、うまく動作しないのが原因のように思われます。つまりはSimplicityのバグですかな。

    わいひらさんが復帰したらおそらく修正してくれるだろうと思いますので、しばらくは上記の方法で親テーマの該当ファイルを手動で修正しておいて下さい。
    わいひらさんが修正完了したら今後のいずれかのバージョンでは対応されるはずですので、今回の親テーマ修正方法でもアップデート対応できるかと思います。
    ただしそれまでに(この内容の修正以外で)何かしらのアップデートがあった場合は、再度親テーマ該当ファイルに同じくして自身で修正をしていただくような感じになるかと思います。

    アップデートのたびに修正するのが面倒だという場合は、ajaxによるカウント取得するタイプ(スピナーが回るタイプ)のSNSボタンを利用されるのが面倒くさくなく、また高速に動作するのでオススメです。

  • #33517 返信

    マグ

    解決しました!
    色々とありがとうございました!

    [span id=”feedly-count” class=”fdly-count”]

    [span id=”feedly-count” class=”feedly-count”]

    この変更だけではダメでした。

    fiddle画面のように以下へ変更したら解決しました。
    <?php echo fetch_feedly_count(); ?>

    [span id=”feedly-count” class=”fdly-count”]のままでも問題なく動作している感じです。
    ありがとうございました!!

  • #33641 返信
    わいひら
    わいひら
    キーマスター

    マグさんご報告ありがとうございます。
    hidekichiさんもありがとうございます。
    おそらく、今回のバージョンアップで、不具合は修正できたかと思います。
    http://wp-simplicity.com/simplicity1-9-1/

返信先: feedlyの表示がおかしい
あなたの情報:




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