2016/4/4

WordPressで外部RSSを扱う比較的簡単で汎用性の高い方法

主に自分用のメモ。相変わらず、EnfoldというWordPressのテーマを使った制作案件が多いのですが、外部ブログのフィードを表示する必要があったので、こんな風にしました。WordPressのSimple PieとShortcodeを使います。

WordPressの機能を使って外部サイトのRSSからコンテンツを持ってきて表示する2つの方法 – Shinichi Nishikawa's

WordPressのショートコードを自作してみる | webOpixel

function parseRSS($atts) {
     extract(shortcode_atts(array(
        'url' => 0,
    ), $atts));
    include_once( ABSPATH . WPINC . '/feed.php' );
    $rss = fetch_feed( $url );

    if ( ! is_wp_error( $rss ) ):

            $maxitems = $rss->get_item_quantity( 10 );
            $rss_items = $rss->get_items( 0, $maxitems );

    endif;

    if ( !$rss_items ):
            $output = 'no item.';
    else:
            foreach ( $rss_items as $i ) {
                     $output .= "<p><a href='".esc_url( $i->get_permalink())."'>".esc_html( $i->get_title())."</a></p>";
            }
    endif;
    return $output;
}
add_shortcode('rss', 'parseRSS');

これだとfunctions.php内で完結しますし、EnfoldのCode BlockにShortcode叩き込んでRSSのURL渡してやればHTMLコードが戻ってくるので便利です。Advanced Layout Editorの中に配置できるので、レスポンシブ対応とかも、割と融通が効く感じ。

便利だった。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円
WordPressデザインレシピ集
狩野 祐東
技術評論社
売り上げランキング: 197,569
WordPress 高速化&スマート運用必携ガイド
こもりまさあき 岡本渉
エムディエヌコーポレーション
売り上げランキング: 435,263