使用FETCH_FEED检索具有非常见标题的项目

时间:2014-05-11 作者:andresmijares

我正在用fetch_feed, 然而,对于foreach, 正如文档所述,我可以使用get-> 方法,如何访问如下所示的对象:

 <SO:AppId>617422</SO:AppId>
那些: 在我的代码上生成错误。有什么想法吗?,提要如下所示:

 channel
    title
    link
    image
      title
      url
    item
      SO:AppId
      SO:AppName
      SO:AppTime
我需要用SO: 变成一个foreach 使用get->SOMETHING 方法

更新******

这是我的职责:

 function get_external_feed($url, $number = 16) {
$rss = fetch_feed( $url );
if ( ! is_wp_error( $rss ) ) :
    $maxitems = $rss->get_item_quantity( number ); 
    $rss_items = $rss->get_items( 0, $maxitems );
    return $rss_items;
endif;

 }
我的指纹是这样的:

 <?php if (count($feeds) == 0 ) : ?>
 <h3>No upcomming dates so far, come back later for more!</h3>
 <?php else : ?>
 <?php foreach ( $feeds as $item ) : ?>
       <?php $item->get->title(); ?>
 <?php endforeach; ?>
 <?php endif; ?>

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

“SO”名称空间是什么?它在提要的开头是否有正确的命名空间定义?

如果确实如此,则很可能可以使用get\\u item\\u tags函数。

函数的作用是:返回一个SimplePie对象。请参见此处的SimplePie文档:

http://simplepie.org/api/

现在,代码中的$项是一个SimplePie\\u项对象:

http://simplepie.org/api/class-SimplePie_Item.html

具有get\\u item\\u tags功能:

http://simplepie.org/api/class-SimplePie_Item.html#_get_item_tags

因此,基本上,代码如下所示:

$item->get_item_tags(\'http://example.com/namespace\', \'AppId\');

获取SO:AppId。但为了使其工作,必须在文档中的某个地方定义非标准的“SO”名称空间,并将其定义为在该函数调用中使用的URI。

该调用返回的是一个由属性、数据和子元素组成的数组。因此,您需要仔细查看它,以找到所需的特定数据。

结束