今回はFacebookページの内容をWrodPressに表示してみます。
よく見るものとして「Facebook for developers」を使用する方法がありますが、けっこう場所を取って「んー」な見た目なので、ここはいっちょFacebookページのfeedを作って読み込んじゃいましょうってことです。
WordPressにfeedを読み込むには
WordPressにfeedを読み込むには「fetch feed」関数を使います。
Codexにサンプルがありますので、参考にすると簡単にfeedを読み込めます。
<?php // RSS フィードを取得します。 include_once( ABSPATH . WPINC . '/feed.php' ); // 以下で、指定されたフィードから SimplePie のオブジェクトを取得します。 // つまり、「http://example.com/rss/feed/goes/here」部分に取得したいフィードを入力すると、SimplePieによってRSSが表示されます。 // なお、この部分について array 関数を使い、配列にすれば、複数の RSS フィードを同時に取得して、複数の RSS フィードを1つにまとめて時系列に並べて表示することもできます。 $rss = fetch_feed( 'http://example.com/rss/feed/goes/here' ); $maxitems = 0; if ( ! is_wp_error( $rss ) ) : // ちゃんとフィードが生成されているかをチェックします。 // すべてのフィードから最新5件を出力します。 $maxitems = $rss->get_item_quantity( 5 ); // 0件から始めて指定した件数までの配列を生成します。 $rss_items = $rss->get_items( 0, $maxitems ); endif; ?> <ul> <?php if ( $maxitems == 0 ) : ?> <li><?php _e( 'No items', 'my-text-domain' ); ?></li> <?php else : ?> <?php // Loop through each feed item and display each item as a hyperlink. ?> <?php foreach ( $rss_items as $item ) : ?> <li> <a href="<?php echo esc_url( $item->get_permalink() ); ?>" title="<?php printf( __( 'Posted %s', 'my-text-domain' ), $item->get_date('j F Y | g:i a') ); ?>"> <?php echo esc_html( $item->get_title() ); ?> </a> </li> <?php endforeach; ?> <?php endif; ?> </ul>
「http://example.com/rss/feed/goes/here」をFacebookページのfeedに置き換えてあげれば簡単に読み込めます。
表示の仕方もul,liで書かれていますけど、表示したように変更すれば自由度は高いです。
と、読み込み方は至って簡単なんですが、分からないのがFacebookページのfeedのURLです。
Facebookページのfeedを取得する
Facebookページのfeedを取得の方法はググればたくさん情報は出てきますが、初心者の方には敷居が高いような気がします。
「https://developers.facebook.com/」にアクセスし云々といろいろ大変そうなので、今回は様々なSNSのfeedを生成してくれる「FEED.EXILEED.COM」を使用します。
FEED.EXILEED.COMの使い方
1.「Link to Group」のテキストボックスにFacebookページのURLをコピペします。
2.「Facebook(Work again)」を選択します。
3.「Generate RSS link」をクリックします。
4.生成されたfeedのURLをコピーして「http://example.com/rss/feed/goes/here」と置き換えましょう。
以上でFacebookページのfeedをWordPressに読み込むことができます。
WordPressのFacebookページを読み込んでみたデモはこちら
まとめ
今回はFacebookページでのサンプルでしたがfeedを変更すると外部ブログでも、他のSNSでもなんでもかんでも読み込めちゃいます。