使用FETCH_FEED组合多个提要并显示每个项目的博客标题?

时间:2012-12-03 作者:Jordan Shipman

我正在尝试使用fetch\\u feed函数显示多个提要。到目前为止,它工作得很好,只是我不明白为什么每个rss提要的标题不会显示出来。这是我的代码:

<?php // Get RSS Feed(s)
include_once(ABSPATH . WPINC . \'/feed.php\');
$rsslist = array(   \'http://www.lt11.com/rss\',
                    \'http://feeds.feedburner.com/climbingnarc\'
                );
$rss = fetch_feed($rsslist);
if (!is_wp_error( $rss ) ) : 
$maxitems = $rss->get_item_quantity(25); 
$rss_items = $rss->get_items(0, $maxitems); 
endif;
?>
    <?php if ($maxitems == 0) echo \'<li>No items.</li>\';
    else
    foreach ( $rss_items as $item ) : ?>
    <li class="feed"> 
        <a href=\'<?php echo esc_url( $item->get_permalink() ); ?>\'
        title=\'<?php echo \'Posted \'.$item->get_date(\'j F Y | g:i a\'); ?>\'>
        <?php echo esc_html( $item->get_date(\'j/n/Y - g:i A\') ); ?> - <div class="feeditemtitle"><?php echo esc_html( $item->get_title() ); ?></div> - <?php echo esc_html($rss->get_title() ); ?></a>
    </li>
    <?php endforeach; ?>        
它的列表位需要rss提要的标题。如果我只获取一个提要,那么标题就会显示出来。当我像上面的例子那样获取多个提要时,标题不会显示。有没有办法解决这个问题?谢谢

2 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

我看不出有任何暗示fetch_feed 应该接受一个值数组。法典和来源中均未提及,@param string $url URL to retrieve feed.

也就是说,fetch_feed 把东西传给SimplePieset_feed_url($url); 它接受数组。我想,Simplepie文档页面就是你的答案所在。RSS源名称为$item->get_feed()->get_title()$rss->get_title()

我仍然有点谨慎,因为您正在通过WordPress函数传递一个数组,而该函数似乎并不适合它。

SO网友:Zaheer Abbas Aghani

用特色图片显示以上代码。。。

<div class="clearfix">
<?php 

include_once(ABSPATH . WPINC . \'/feed.php\');
$rsslist = array(   \'http://www.bloggingwizard.com/feed\',
                    \'http://www.wpbeginner.com/feed/\'
                );
$rss = fetch_feed($rsslist);
if (!is_wp_error( $rss ) ) : 
$maxitems = $rss->get_item_quantity(5); 
$rss_items = $rss->get_items(0, $maxitems); 
endif;
?>
<?php function get_first_image_url($html)
        {
            if (preg_match(\'/<img.+?src="(.+?)"/\', $html, $matches)) {
            return $matches[1];
            }
        }
?>  


    <?php if ($maxitems == 0) echo \'<li>No items.</li>\';
    else
    foreach ( $rss_items as $item ) : ?>
    <div class="col-md-4"> 

    <div class="rss-image" style="background-image: url(\'<?php echo get_first_image_url($item->get_content()) ?>\');height: 200px;
    background-size: cover;">

        </div>

        <a href=\'<?php echo esc_url( $item->get_permalink() ); ?>\'
        title=\'<?php echo \'Posted \'.$item->get_date(\'j F Y | g:i a\'); ?>\'>
       <div class="feeditemtitle">
       <?php echo esc_html( $item->get_title() ); ?></div>  <?php echo esc_html($rss->get_title() ); ?></a>
    </div>
    <?php endforeach; ?>   

</div>

结束

相关推荐

Remove [...] from RSS feed?

我想删除[…]从RSS提要小部件。我已尝试向函数添加以下内容:function replace_ellipsis($text) { $return = str_replace(\'[...]\', \'-\', $text); return $return; } add_filter(\'get_the_excerpt\', \'replace_ellipsis\'); 但是,这不会影响小部件。有什么帮助吗?