noteのRSSを取得してサイトに表示する
PHP
サイトのブログ機能の代わりとして、noteの記事を表示する方法を記載します。
すでにnoteで記事をたくさん書いている方、WordPressでの投稿が難しい方にお勧めです。
PHPを使用します。
date_default_timezone_set('Asia/Tokyo');
// 取得件数
$max = 5;
$url ="https://note.com/【noteのID】/rss";
// counter
$i = 0;
$output ='';
try {
// rss読み込み
$rss = simplexml_load_file($url);
if($rss){
foreach( $rss->channel->item as $item ){
if($i < $max){
$timestamp = new DateTime($item->pubDate);
$date = $timestamp->format('Y年m月d日');
$description = strip_tags($item->description);
// no image
$first_img = $item->children('media',true)->thumbnail;
if(empty($item->children('media',true)->thumbnail)){
$first_img ="img/blank.jpg";
}
$output .= '<li>';
$output .= '<a href="'. $item->link .'" target="_blank" class="entry_wrap">';
$output .= '<div class="entry_thumb"><img src="'.$first_img.'"></div>';
$output .= '<div class="entry_txt">';
$output .= '<h4 class="entry_title">' . $item->title . '</h4>';
$output .= '<time class="entry_date">' . $date . '</time>';
$output .= '<div class="entry_content">' . $description . '</div>';
$output .= '</div>';
$output .= '</a>';
$output .= '</li>';
$i++;
}
}
echo '<ul class="note">'. $output . '</ul>';
}else{
throw new Exception("xml read error");
}
}catch(Exception $e){
echo '<p>ブログが読み込めませんでした</p>';
}
description については必要に応じて文字数カットするなどしてください。
- noteのRSSでサムネイルはchildren(‘media’,true)->thumbnail で取得できる
- 日付の表記はformat(‘Y年m月d日’);の所を修正する