Google FeedBurnerをWordPressでプラグイン無しで使う方法

13031502

先日Google Readerの終了のアナウンスで、驚きと共に急いでFeedlyPlusに乗り換えた人も多いのでしょう。
私は以前からFeedlyユーザーでしたが、あの日は全然繋がらなかったですね:D

Google Readerの終了はRSS FEEDがそれほど定着していないということなのでしょうが、これを使っていると本当に便利なので、Feedlyは是非続けてほしいものです。

Google FeedBurnerをWordPressで使う方法

さて、FeedBurnerというサービスがあります。
FeedBurnerとは、サイトのRSSを一度FeedBurnerにリダイレクトさせる事で、RSSの代わりにFeedBurnerが提供するRSSフィードを購読してもらうことで、購読者の人数などのデータ等が取得できる、ニュースサイトやブロガーに人気のサービスです。
速い話がサイトのRSSのアイコンをクリックするだけで、Feedlyなどの購読ツールに簡単に登録ができるってやつです。

だれでも簡単に登録が出来ますが、WordPressでは、提供されたURLをリンクさせるだけでは使用できません。
使う方法としてはプラグインの導入が有名ですが、functions.phpに記述することでプラグイン無しで使える方法を紹介します。

まずはGoogle FeedBurner登録しよう

まずはGoogle FeedBurnerのサイトへ行き、自サイトのRSSを登録します。
登録にはアカウント登録が必要です。Googleアカウントをお持ちならば、それでログインできます。
Google FeedBurner→

ログインが終わったら自サイトのRSSをフォームに張り付けてNEXTをクリック。
サイト名とURLが表示されるので 再びNEXTをクリックして完了。表示されたURLが貴方のFeedBurnerへのURLとなります。
ちなみにサイトは何個でも登録できます。 ここにくれば統計を見ることもできます。

WordPressで使うためには

Functions.phpに下記のように記述します。3行目のURLに FeedBurnerで取得したURLを入力します。

// Snippet FeedBurner
function feed_subscribers(){
        $feed_url = 'http://feeds.feedburner.com/yourname';
        $count = get_transient('feed_count');
        if ($count != false) return $count;
        $count = 0;
        $data  = wp_remote_get('http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri='.$feed_url.'');
   if (is_wp_error($data)) {
        return 'error';
   }else{
        $body = wp_remote_retrieve_body($data);
        $xml = new SimpleXMLElement($body);
        $status = $xml->attributes();
        if ($status == 'ok') {
                $count = $xml->feed->entry->attributes()->circulation;
        } else {
                $count = 300; // fallback number
        }
   }
        set_transient('feed_count', $count, 60*60*24); // 24 hour cache
        echo $count;
}

これで完了です。 FeedBurnerに登録してすぐにはリダイレクトされません。
反映されるまで時間がかかるので 一晩待ちましょう。

may the force be with you