現在使っているWordpressに別のWordpress、またブログの記事をRSSで取得して表示させる方法です。
WordPressではfetch_feedという関数があるのでこれを使います。
表示させたい所に下記を記述してください。
<?php include_once(ABSPATH . WPINC . '/feed.php'); $rss_url = array( 'RSSのURL' ); $rss = fetch_feed($rss_url); if (!is_wp_error($rss)){ $maxitems = $rss->get_item_quantity(4); // 表示件数 $rss_items = $rss->get_items(0, $maxitems); } foreach($rss_items as $key => $value){ // 最初の画像をサムネイルとして取り出す $first_img = ''; if ( preg_match( '/<img.+?src=[\'"]([^\'"]+?)[\'"].*?>/msi', $value->get_content(), $matches ) ) { $first_img = $matches[1]; } // 本文の最初の100文字だけ抜粋する $content = $value->get_content(); $content = mb_substr( strip_tags( $content ),0,100 ); echo ' <li style="margin-bottom: 20px;"> <img src="'.esc_attr( $first_img ).'" width="100" height="100"> // サムネイル <a href="'.$value->get_permalink().'" target="_blank">'.$value->get_title().'</a> // タイトルとリンク <p>'.$value->get_date( 'Y.m.d' ).'</p> // 日付 <p>'.$content.'...</p> // 抜粋 </li> '; } ?>
get_item_quantityで取得する記事の数を変更できます。
$value->get_contentをそのまま書くと記事の本文がすべて表示されるので、mb_substrで最初の100文字だけ抜粋しています。
100の部分を変えることで文字数を変更できます。