キャンプで火遊びがしたい。
お疲れさまです。
ついに今年が終わります。
毎月あと〇ヶ月でーと勝手にカウントダウンをしていましたが
いよいよですね。
来年は43歳になります。コワー
早速ですが表題の件、
例えば、シチュエーションとしては
「県が出してるお知らせを別のサイトのお知らせ欄にも表示させたいんだよねー」や、
「自社サイトで運営してるブログを別のサイトにも表示させたいんだよねー」などでしょうか。
RSSも今やあまり使ってるとこもないような気がしますが
worpdressには便利な関数がありますのでそちらを使った表示の仕方をご説明します。
そもそもRSSとは?
RSSとは「Really Simple Syndication」、または「Rich Site Summary」の略語で、Webサイトのニュースやブログ記事などの更新情報やその内容の要約などを配信するため技術のことです。
こちらの情報を利用することでいちいちサイトを見に行かなくてもRSSリーダーに登録しておけば、更新情報を取得できちゃいます。
昔はわりとどのサイトにも存在していたのですが影は薄くなってきています。
で、どうやって使うの?
冒頭でも触れたようにwordpressが用意している関数の中に
「 fetch_feed 」というものがあります。
こちらを利用して簡単に取得できるので実際の使い方と合わせて記載します。
関数にしておいた方が便利なので下記を functions.php などに追記します。
/*----------------------------------------
RSSフィード取得
-----------------------------------------*/
function get_rss_feed( $arg ) {
$rss_info = array();
$arg = array_merge(array(
'url' => '',
'max' => '0',
), $arg);
$rss_url = fetch_feed( $arg["url"] );
if (!is_wp_error( $rss_url ) ) {
$maxitems = $rss_url->get_item_quantity($arg["max"]);
$rss_items = $rss_url->get_items(0, $maxitems);
}
if ($maxitems != 0) {
foreach ( $rss_items as $item ){
$rss_info[] = array (
'url' => $item->get_permalink(),
'date' => $item->get_date('Y.m.d'),
'title' => $item->get_title(),
);
}
}
return $rss_info;
}
こちらをpage.phpなど表示したいページに記載することでリスト表示することができます。
<ul class="rss-list">
<?php
$arg = array(
"url" => "rss用URL",//取得するRSSのURLを記述する
"max" => 20,//表示させたい最大数を記述
);
$rss_info = get_rss_feed( $arg );
if ( !empty($rss_info) ) {
foreach ( $rss_info as $rss ) {
?>
<li><a href="<?php echo $rss["url"];?>" target="_blank">[<?php echo $rss["date"];?>] <?php echo $rss["title"];?></a></li>
<?php
}
?>
</ul>
今回は URL、日付け、タイトルを取得して使うようにしています。
このまま使えるようにしていますので用途ありましたらお使いください。
そして!
そもそもRSSのURLってどこでわかるのー?
ってなりますよね?
いくつか例を出しておきますので、ヒントにしてみてください。
1:wordpressでサイトを構成している場合
RSSフィードを公開している場合、これはパターンがあります。
ドメイン/feed/ として開いてみましょう。
例えば エフのサイトですと下記になります。
https://www.e-f.co.jp/feed/
こんな感じで暗号のような内容が表示されましたね。
これがxml形式で作られたfeedというものになります。
先ほどの関数はこちらを解析してくれる非常に便利な関数です。
feedの情報はサイトによって形式も異なることが多いのですが、ほぼほぼ問題ありませんでした。(経験上)
2:ここからおねしゃすとHP内に記載がある場合
最近ではコロナウィルス関連の情報を県のホームページなどで見る方も増えたんじゃないでしょうか?
広島県の場合はこのようなページもあります。
https://www.pref.hiroshima.lg.jp/soshiki/19/1173052170405.html
こちらはこのURLを使えば取得できますよーとお知らせしてあります。
あとは、今回のようにエンジニア用ではなく
自分たちでRSSを利用したいと言う方は「 feedy 」 というアプリがあります。
こちら使い方簡単で、インストールして対象ページURLを登録するだけで、そのサイトがRSS配信があった場合、
自動で新着情報を取ってきてくれます。便利
いろんな情報が飛び交う昨今。
又聞きの信用できない情報ではなく、公式の情報や、信頼の持てるサイトの情報を活用して惑わされないようにしましょう。
(うまくまとめた
来年は普通の生活ができることを祈りながら今年を終えたいと思います。
良いお年をー