Fatal error: Call to undefined method WP_Error::get_item_quantity()

I’ve implemented a way to show the Twitter feed without a plugin. It’s worked for weeks(months even, on a different site), but is now giving me trouble. Here is the error:

Fatal error: Call to undefined method WP_Error::get_item_quantity() in … home.php on line 27

Line 27: $maxitems = $rss->get_item_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="https://wordpress.stackexchange.com/questions/67782/<?php echo $item->get_permalink(); ?>">
<?php echo str_replace('UrbanPalateLA: ', '&bull;', $item->get_title()); ?>
</a>
</li>
<?php endforeach; ?>
</ul>

Any ideas what could be causing the error?

2 Answers
2

I would say you are probably receiving a WP_Error on first run.

around the $maxitems and $rss_items lines, add:

if( ! is_wp_error( $rss ) ) {
    $maxitems = $rss->get_item_quantity(3);
    $rss_items = $rss->get_items(0, $maxitems);
}

As seen in the example.

Leave a Comment