###前提・実現したいこと
現在、レンタルサーバーを借りてWordPressでブログを運営しています。
複数の外部RSSを取得、各サイト1件ずつ新着順にソートして表示しています。
複数の外部RSS取得時にエラーが出た場合スキップし、他のRSSを表示できるようにしたいです。
###発生している問題・エラーメッセージ
ブログ上で複数の外部RSSを取得し表示しているのですが、取得しているRSS数が多いため一つでもRSSエラーがでると表示が”no articles”となり、エラーがないRSSも表示できなくなってしまいます。
1件ずつチェックし、問題のあるRSSを削除すれば修正できるのはわかっていますが、RSS数が多いのと常にブログをチェックできるわけではないので、エラーがでた場合スキップし、他のRSSを表示できるようにしたいです。
###該当のソースコード
<?php // SimplePieの読み込み include_once(ABSPATH . WPINC . '/feed.php'); // feedの取得(複数指定可) $rss = fetch_feed(array( 'RSS1', 'RSS2', 'RSS3', 'RSS4' )); if (!is_wp_error( $rss ) ) { $rss->set_item_limit(1); // RSS1つに対して何件表示 $rss->set_cache_duration(1800); $rss->init(); $maxitems = $rss->get_item_quantity(0); // 全ての表示件数 $rss_items = $rss->get_items(0, $maxitems); date_default_timezone_set('Asia/Tokyo'); } echo '<ul>'; if ($maxitems == 0) { // データがないときの処理 echo '<li>no articles</li>'; } else { foreach ( $rss_items as $item ) { echo '<li><a href="'. $item->get_permalink() .'">'. $item->get_title() .'</a></li>'; } } echo '</ul>'; ?>
###補足情報(言語/FW/ツール等のバージョンなど)
WordPress: Ver4.8
PHP: Ver7.1
Server: mixhost
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。