致命错误:调用未定义的方法WP_ERROR::GET_ITEM_QUANTITY()

时间:2012-10-10 作者:user1255049

我已经实现了一种无需插件即可显示推特提要的方法。它工作了几个星期(甚至几个月,在另一个网站上),但现在给我带来了麻烦。以下是错误:

致命错误:调用未定义的方法WP\\u error::get\\u item\\u quantity()。。。家php在线27

第27行:$maxitems=$rss->get\\u item\\u quantity(3);

<?php
include_once(ABSPATH . WPINC . \'/feed.php\');
$rss = fetch_feed(\'https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=urbanpalatela\');
$maxitems = $rss->get_item_quantity(3);
$rss_items = $rss->get_items(0, $maxitems);
?>

<ul>
<?php if ($maxitems == 0) echo \'<li>No items.</li>\';
else
// Loop through each feed item and display each item as a hyperlink.
foreach ( $rss_items as $item ) : ?>
<li>
<a href=\'<?php echo $item->get_permalink(); ?>\'>
<?php echo str_replace(\'UrbanPalateLA: \', \'&bull;\', $item->get_title()); ?>
</a>
</li>
<?php endforeach; ?>
</ul>
你知道是什么导致了这个错误吗?

2 个回复
SO网友:Eric Holmes

我想说,您可能在第一次运行时收到一个WP\\U错误。

围绕$maxitems$rss_items 行,添加:

if( ! is_wp_error( $rss ) ) {
    $maxitems = $rss->get_item_quantity(3);
    $rss_items = $rss->get_items(0, $maxitems);
}
如图所示example.

SO网友:Wyck

twitter url似乎无效。您可以双重防止此错误,因为它依赖于第三方。

使用前先检查提要是否为空$maxitems , 之后不会。

例如:

include_once(ABSPATH . WPINC . \'/feed.php\');
$rss = fetch_feed(\'https://api.twitter.com/1/statuses/....\');

if ($rss->get_item_quanity != 0) { 
   $maxitems = $rss->get_item_quantity(3);
   //rest of your code..
} else { 
   echo \'No feed available\'; }
编辑:Eric的示例可能更好,因为它将由WP使用if (!is_wp_error( $rss ) )

其次,您的twitter url没有返回任何内容,因此出现错误,这可能是因为API已更改,您将不得不参考twitter文档,https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline

结束