別サイトにWordPress記事一覧を表示する
公開日:2022年12月03日
RSSフィードを使用して別サーバにある別サイトにWordPressの記事一覧を表示します。
まずはWordPressサイトURLに「/feed/」をつけてRSSを確認します。
ちなみに「https://jobtech.jp/」の場合は「https://jobtech.jp/feed/」でアクセスすると以下のようなコードが表示されます。
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
<channel>
<title>ジョブテク</title>
<atom:link href="https://jobtech.jp/feed/" rel="self" type="application/rss+xml" />
<link>https://jobtech.jp</link>
<description>Learning site for website creation</description>
<lastBuildDate>Thu, 17 Nov 2022 09:32:14 +0000</lastBuildDate>
<language>ja</language>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<generator>https://wordpress.org/?v=6.0.3</generator>
<item>
<title>消せないフォルダやファイルを削除</title>
<link>https://jobtech.jp/other/10701/?utm_source=rss&utm_medium=rss&utm_campaign=post-10701</link>
<dc:creator><![CDATA[aku2]]></dc:creator>
<pubDate>Tue, 15 Nov 2022 10:03:43 +0000</pubDate>
<category><![CDATA[その他]]></category>
<guid isPermaLink="false">https://jobtech.jp/?p=10701</guid>
<description><![CDATA[<p>Vueのプロジェクト等を削除できない場合の対応方法。 トラブル状況 「フォルダー アクセスの拒否」画面が表示され「続行」押します。 再度「フォルダー アクセスの拒否」画面が表示され「再試行」押しても同じ画面が表示されます…</p>
The post <a href="https://jobtech.jp/other/10701/">消せないフォルダやファイルを削除</a> first appeared on <a href="https://jobtech.jp">ジョブテク</a>.]]></description>
<content:encoded><![CDATA[<p>Vueのプロジェクト等を削除できない場合の対応方法。</p>
<h2>トラブル状況</h2>
<p>「フォルダー アクセスの拒否」画面が表示され「続行」押します。</p>
:
</item>
</channel>
</rss>
RSSフィードを取得して表示する
WordPressを使っていないサイトでRSSフィードを取得して表示します。
<div class="Blog">
<div class="Blog_inner">
<div class="Blog_body">
<?php
$url = "https://○○○.com/feed/";
$context = stream_context_create(
[
'http' => [
'method' => 'POST',
'header' => 'Content-Type: application/json',
],
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
],
]
);
$feedContents = file_get_contents($url, false, $context);
$feedRSS = simplexml_load_string($feedContents);
$feedItem = $feedRSS->channel;
$i = 0;
$limit = 5; //表示件数
foreach ($feedItem->item as $item) : if ($i === $limit) break; ?>
<div class="BlogItem">
<a class="BlogItem_link" href="<?php echo h($item->guid); ?>">
<div class="BlogItem_title">
<?php echo h($item->title); ?>
</div>
<div class="BlogItem_meta">
<div class="BlogItem_category">
category:<?php echo h($item->category); ?>
</div>
<div class="BlogItem_date">
<?php echo h(date("Y年 n月 j日", strtotime($item->pubDate))); ?>
</div>
</div>
</a>
</div>
<?php $i++;
endforeach; ?>
</div>
</div>
</div>
同じカテゴリーのコンテンツ