投稿ページで、それぞれ取得するRSS先を変更する必要があるため、カスタムフィールドに入力したURLをfetch_feed内で読み込んで使用したいと思っています。
<?php include_once(ABSPATH . WPINC . '/feed.php'); $sample01 = get_post_meta($post->ID , 'アドレス1' ,true); $sample02 = get_post_meta($post->ID , 'アドレス2' ,true); $sample03 = get_post_meta($post->ID , 'アドレス3' ,true); $rss = fetch_feed(array($sample01,$sample02,$sample03)); if (!is_wp_error( $rss ) ) : $maxitems = $rss->get_item_quantity(3); $rss_items = $rss->get_items(0, $maxitems); endif; ?> <?php if ($maxitems == 0) echo '<li>記事はありません。</li>'; else foreach ( $rss_items as $item ) : ?> <a href='<?php echo $item->get_permalink(); ?>'><?php echo $item->get_title(); ?></a> <?php $first_img = ''; if ( preg_match( '/<img.+?src=[\'"]([^\'"]+?)[\'"].*?>/msi', $item->get_content(), $matches ) ) { $first_img = $matches[1]; } ?> <?php if ( !empty( $first_img ) ) : ?> <a href='<?php echo $item->get_permalink(); ?>'><img src="<?php echo esc_attr( $first_img ); ?>" alt=""></a> <?php endif; ?> <?php endforeach; ?>
上記のように記述したところ、カスタムフィールドが埋まっている場合はRSSが表示されるようになったのですが、空欄がある場合は「記事はありません」と表示されてしまいます。
投稿ごとに取得したいURLの件数が変わるので、空欄があっても表示できるようにしたいのですが・・・
どなたか解決法が分かる方がいらっしゃったら、知恵をお貸しください。
また、記述でおかしな所があったらご指摘頂けたらと思います。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/03 07:40