- Web制作
WordPressサイトのRSSフィードを外部サイトに埋め込む
はじめに
最近久しぶりにRSSというものに触れたのですが、すっかり忘れてしまっていました。
10年以上前ですが当時アメブロが流行っていて、アメブロのRSSフィードを引っ張ってきてコーポレートサイトに貼り付ける、といったことをよくやっていたのですが。。
そもそもRSSって何だっけ?
RSSとは「Really Simple Syndication」や「Rich Site Summary」の略で、Web上でニュース記事やブログ記事の更新情報を配信するためのフォーマットです。
RSSを利用することによって外部サイトの更新情報を別サイト上で表示することができます。
RSSフィードURLを取得
WordPressサイトであれば標準で RSS フィードが組み込まれています。
サイトの RSS フィード URL を確認するには、Web サイトの URL の末尾に /feed/ を追加します。
たとえば、このサイトの場合、URLが https://libesta.jp なので、RSS フィード URL は https://libesta.jp/feed/ になります。
RSSの表示方法
表示したい箇所に以下のようなコードを書くことで外部サイトの更新情報を表示させることができます。
PHPのコードなので、HTMLファイルの場合は、あらかじめ拡張子をPHPに変更しておきます。
<ul class="news__list"> <?php // URL $url = 'https://libesta.jp/feed/'; // 取得したサイトのRSS フィード URL $context = stream_context_create( array( 'http' => array( 'method' => 'POST', 'header' => 'Content-Type: application/json', ), 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, ), ) ); $getTXT = file_get_contents($url, false, $context); $getRss = simplexml_load_string($getTXT); $i = 0; //$iを初期化 foreach ($getRss->channel->item as $item) { $i++; if ($i == 6) { break; // 5件まで表示する } $description = $item->description; // コンテンツ if (isset($item->children('content', true)->encoded)) { $encoded = $item->children('content', true)->encoded; $summary = strip_tags($encoded); // タグを除去して記事全文を抽出する } $summary = mb_substr($summary, 0, 200); // 記事冒頭の200文字を抽出する $date = date('Y.n.j', strtotime($item->pubDate)); // 投稿日 $link = $item->link; // 記事のリンク $title = $item->title; // 記事のタイトル $categories[] = $item->category; // 記事のカテゴリー(配列に追加) $categories = array_unique($categories); // 重複したカテゴリーを削除 ?> <!-- ここからコンテンツ --> <li class="news__item"> <a href="<?php echo $link; ?>" target="_blank"> <div class="date"><?php echo $date; ?></div> <?php foreach ($categories as $category) { // カテゴリーをあるだけ表示 echo '<div class="category">' . $category . '</div>'; } ?> <div class="post-ttl"><?php echo $title; ?></div> </a> </li> <?php } ?> </ul>
こちらの記事を参考にさせていただきました。
https://lifescrewdesign.com/blog/wordpress/wordpress-rssfeed/
名古屋の Web 制作会社で 9 年半働いた後フリーランスに。中小企業のWEBサイト制作実績 100 サイト以上。ディレクション、デザイン、コーディング、WordPress 構築まで手掛けます。主にWeb系の情報をお届けします。