あれ?feedlyが動いていない!?
なんか、このブログもfeedlyに登録してくださる方がいるみたいでうれしい限りなんですが、自分で触ってみたらエラーになるんですよね・・・ってテストしてないのバレバレなんですが、「Simplicity2」ってデザインテンプレート適用して、最低限いじっただけであとは、まぁ適当だったりしてました。せっかくなんで直しておきましょうって事で、あちこち調べてみました。
ちなみに、あたしゃPHPerじゃあないんですが、触るくらいはできます。
一応症状は改善されたのでアップしておきますが、後にも出てきますが最新版は修正済みのようですね(笑)
リンクを押した遷移先での症状
Oops!言われてます。
なんかページないよって言ってます。URL間違ってんじゃね?みたいな事もかかれてますね。と言う訳で次の段階です。
エラー時のURLと期待値とされるURLを比較する
「URL間違ってんじゃね?」と言われたわけですから、まずはURLを調査します。feedlyのページからURLを入力するとうまく表示されたので、うまく表示されているURLされていないURLを比較します。
https://feedly.com/i/subscription%2Ffeed%2Fhttps://soraboku.com/feed/
https://feedly.com/i/subscription/feed%2Fhttps://soraboku.com/feed/
さっそく差異が見つかりました。「subscription%2Ffeed」がエンコードされているかされていないかの差異の様です。なんでデコードされてないの??
ちなみに・・・「feed%2Fhttp」の部分は大丈夫なんですが、ここを次に変えても大丈夫でした。https://feedly.com/i/subscription/feed/https://soraboku.com/feed/
デコードしてくれないならエンコードしなくていいやって言う子供的発想
さて正常系のURLと異常系のURLを比較した結果、デコードされてないっぽいんで、このURLを使ってそうなソースを探します。
各ページの下の方にあるfeedlyアイコンを表示しているPHPファイルっぽいの見つけました。
sns-pages.php
ソースを見ます。「feedly」で検索するとありました。
<?php if ( is_feedly_follow_btn_visible() )://feedlyフォローボタンを表示するか ?><li class="feedly-page"><a href='//feedly.com/index.html#subscription%2Ffeed%2F<?php echo rawurlencode(get_bloginfo("rss2_url")); ?>' target='blank' title="feedlyで更新情報を購読" rel="nofollow"><span class="icon-feedly-logo"></span></a></li><?php endif; ?>
ありましたー。エンコードされてコーディングしてますね。ここですねー。ここを次のように変更します。
<?php if ( is_feedly_follow_btn_visible() )://feedlyフォローボタンを表示するか ?><li class="feedly-page"><a href='//feedly.com/index.html#subscription/feed/<?php echo rawurlencode(get_bloginfo("rss2_url")); ?>' target='blank' title="feedlyで更新情報を購読" rel="nofollow"><span class="icon-feedly-logo"></span></a></li><?php endif; ?>
そしてテスト。
はい直りました。さあ、ほかのfeedlyボタンは・・・
(´・ω・`)・・・
甘くなかった。と言う訳でボタン毎に修正していきます。
以下、grepして探し出した修正ターゲットとなるPHPファイルです。以下のファイルを全て直せば完了です。
- sns-buttons-balloon.php
- sns-buttons-default.php
- sns-buttons-icon.php
- sns-pages.php
各ボタンから正しく表示されるようになりました。めでたしめでたし。
最新のテンプレートは既に対応済み
最新のSimplicityを落としてくれば修正されているようです。これから使う人は大丈夫そうです。原因は何かfeedly側みたいですね。
コメント