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: ', '•', $item->get_title()); ?>
</a>
</li>
<?php endforeach; ?>
</ul>
Any ideas what could be causing the error?
2 Answers
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.