Feedlyの登録ボタンは無事に設置できました。調べると購読してもらっている皆さんの人数が表示されているサイトがあります。なんと、具体的な数字は励みになるのです。これは正直な気持ちです。
頑張って表示しようと調べました。
すると、このコードをコピべで使って良いよ!という天使な方が!マジですかっ!という事で使わせて頂きました。本当にありがとうございます!。
7行目の”feedly_subscribers”の部分を、自身のRSSフィードに置き換えるとOKです。ものくろぼっくすなら、こんな感じになります。
[code] if ( false === ( $subscribers = get_transient( ‘https://mono96.jp/?feed=rss2’ ) ) ) : [/code]
ちょっと自分自身のために
とは言え、どんな作業をしているのか?は知りたいなと思ってみました。
- 変数$feed_url にrawurlencode関数でエンコードしたRSSフィードを代入します。
- ”filegetcontents”でFeedlyにアクセスしてRSSフィードのデータを採ってきます。
- json_decode JSON 文字列データなので、デコードします。
- $subscribersにあるJOSNのsubscribersオブジェクト参照して、その結果を$subscribers変数に入れる。
- 参考:PHPの”=>”と”―>”とはどういう意味?|本を買わずに解決するWeb制作の小技
- これでJOSNの中になる”subscribers”オブジェクトを採れました。これが購読者人数です。あとは表示するなり何なりと、、言う事になります。
ただし、書かれている様に、このままだとエラー処理がないのでそのまま使えません。
- if文を使って、wpremotegetを使ってデータを取得しています。filegetcontents はエラー処理が大変なようです。
- wpremoteget は filegetcontents よりも応用できてよいですね【WordPress】 – ホホ冢次男
- Transients APIを使って各ソーシャルのカウント数をWordPressデータベース内に一時保存&表示するのよ! – ホホ冢次男
エラー処理とキャッシュ処理を追加したグレイトなコードを書かれています。半日のキャッシュ設定とされています。ちょうど良い所と思います。
本当に感謝です。助かりました。
実装ソース
[code]
<!– RSS –>
<a style="margin: 0px 5px 5px 15px;" href="https://mono96.jp/?feed=rss2"><img alt="rss" src="https://mono96.jp/wp-content/uploads/2013/07/rss1.png" /></a>
<!– RSS –>
<!– feedly –>
<a href="http://cloud.feedly.com/#subscription%2Ffeed%2Fhttp%3A%2F%2Fwww.monochrome-photo.info%2F%3Ffeed%3Drss2" target="blank"><img id="feedlyFollow" style="margin: 0px 5px 0px 20px;" alt="follow us in feedly" src="http://s3.feedly.com/img/follows/feedly-follow-rectangle-flat-big_2x.png" width="131" height="56" /></a>
<!–?php /** * FeedlyのブログRSS購読者数(フォロワー数)を取得・表示 */ // 値がない、もしくは古いときはデータベースへ一時保存 if ( false === ( $subscribers = get_transient( ‘https://mono96.jp/?feed=rss2’ ) ) ) : // RSS feed のURLをエンコード $feed_url = rawurlencode( get_bloginfo( ‘rss2_url’ ) ); // 購読情報をJsonで取得して購読者数だけ頂く $subscribers = wp_remote_get( "http://cloud.feedly.com/v3/feeds/feed%2F$feed_url" ); $subscribers = json_decode( $subscribers[‘body’] ); $subscribers = $subscribers—>subscribers;
// データベースへ購読者数を一時保存する。60 * 60 * 12 = 半日。お好きに値は変えましょう
set_transient( ‘feedly_subscribers’, $subscribers, 60 * 60 * 12 );
endif;
?>
<!– RSS購読者数表示 –>
FeedlyのRSS購読者数
<span class="subscribers" style="color: #ffffff; background-color: #696969; padding: 2px 10px 2px 10px; margin-left: 45px; font-size: 120%;"><!–?php echo $subscribers; ?–>人</span> です。
<!– feedly –>
[/code]
勉強します。PHP
リックテレコム
売り上げランキング: 2,072