サポート » 使い方全般 » 外部RSSフィードから最初の画像を取得し表示する際の有無の判定について

  • wtakop

    (@wtakop)


    こんにちは。
    外部RSSフィードから最初の画像を取得し表示する際の判定について質問があります。
    現在最初の画像が無い場合は代替え画像を表示しています。
    問題は参照フィード元ブログがtwitterと連携しており、画像なしが頻繁に起こっています。

    こちらを無い場合は次の記事を見に行くという風にできないでしょうか。
    そうなると負荷が大きくなりそうなので、せめて8件読み込むうちの1件か2件が代替え画像という風にできないでしょうか。

    <?php
    include_once( ABSPATH . WPINC . '/feed.php' );
    $rss = fetch_feed ( 'rssのURL' );
    if ( !is_wp_error( $rss ) ) {
        $maxitems = $rss->get_item_quantity( 8 );
        $rss_items = $rss->get_items( 0, $maxitems );
    }
    ?>
    <?php if ( !empty( $maxitems ) ) : ?>
        <?php foreach ( $rss_items as $item ) : ?>
        <li>
            <a href="<?php echo $item->get_permalink(); ?>">
                <?php
                $first_img = '';
                if ( preg_match( '/<img.+?src=[\'"]([^\'"]+?)[\'"].*?>/msi', $item->get_content(), $matches ) ) {
                    $first_img = $matches[1];
                }
                ?>
                <?php if ( !empty( $first_img ) ) : ?>
                    <img src="<?php echo esc_attr( $first_img ); ?>" alt='<?php echo $item->get_title(); ?>' />
                <?php else: ?>
                <img src='<?php echo get_template_directory_uri(); ?>/images/noimage.jpg' class='noimage' alt='<?php echo $item->get_title(); ?>' />
                <?php endif; ?>
            </a>
        </li>
        <?php endforeach; ?>
    <?php endif; ?>

    どなたかお分かりの方がいらっしゃいましたらよろしくお願いいたします。

  • トピック「外部RSSフィードから最初の画像を取得し表示する際の有無の判定について」には新たに返信することはできません。