This happens because the fetch_rss function is deprecated (fetch_feed is the new function) and WP now uses SimplePie instead of the old MagPie. The widget tries to parse a SimplePie Object as a MagPie Object and that breaks things. Took me quite a few hours to figure it out but here’s the fix I came up with:
Open the wp-content/plugins/twitter-for-wordpress/twitter.php file.
Find and delete – 2 instances
include_once(ABSPATH . WPINC . ‘/rss.php’);
Find and replace – 2 instances
$messages = fetch_rss(‘https://twitter.com/statuses/user_timeline/’.$username.’.rss’);
with:
$messages = fetch_feed(‘https://twitter.com/statuses/user_timeline/’.$username.’.rss’);
Find and replace
if ( empty($messages->items) ) {
with
$feed_count = $messages->get_item_quantity();
if ( empty($feed_count) ) {
Find and replace
foreach ( $messages->items as $message ) {
$msg = ” “.substr(strstr($message[‘description’],’: ‘), 2, strlen($message[‘description’])).” “;
if($encode_utf8) $msg = utf8_encode($msg);
$link = $message[‘link’];
with
foreach ( $messages->get_items() as $message ) {
$desc = $message->get_description();
$date = $message->get_date();
$msg = ” “.substr(strstr($desc,’: ‘), 2, strlen($desc)).” “;
if($encode_utf8) $msg = utf8_encode($msg);
$link = $message->get_link();
Find and replace
$time = strtotime($message[‘pubdate’]);
with
$time = strtotime($date);
That should be it. Widget now works perfectly with WP 2.8.4, enjoy ??