WordPressのRSSから新着記事データを取得しHTMLや単一のPHPページなどWordPress外のページ表示する方法

WordPressのRSSから新着記事データを取得する

WordPressのRSSを simplexml_load_file() の引数に指定してオブジェクトに代入します。その後オブジェクトをforeachで回して各記事データを取得しながら配列に格納します。

<?php
/* 対象WordPressのRSSが出力するXMLをパースしオブジェクトに代入します */
$rss = simplexml_load_file('https://analyzegear.co.jp/news/feed');

/* foreachで回して各記事のデータを取得し配列に入れます。 */
$news_list = array();
$news_cnt = 0;
foreach($rss->channel->item as $item){
    $news_list[] = array(
        'title'   => $item->title, //記事タイトル
        'date'    => date("Y/m/d", strtotime($item->pubDate)), //日付
        'link'    => $item->link //リンク
    );
    $news_cnt++;
    
    //配列に格納する記事数制御(※この場合は5件)
    if ($news_cnt==5) {
        break;
    }
}
?>

※上記コードでは記事数を5件に制御していますが、必要に応じて変更または制御しているコードを外してください。

取得した記事を表示する

新着記事データが入った配列を必要な場所でforeachで回して表示します。

<ul>
    <?php foreach ($news_list as $news):?>
    <li><a href="<?php echo $news['link'];?>" target="_blank"><?php echo $news['date'];?> <?php echo $news['title'];?></a></li>
    <?php endforeach;?>
</ul>

その他

同じサーバー内の “wp-blog-header.php” を読み込みWordPressの機能を直接利用する場合は下記記事を参照願います。

コメント

タイトルとURLをコピーしました