我的网站一夜之间决定产生以下错误:
致命错误:调用未定义的方法WP_Error :: get_items() 第494行/home/xxx/public_html/wp-content/themes/xxx/functions.php
错误会破坏推送源,停止页面呈现的其余部分。我没有为这个网站实现代码,但令人不安的代码似乎是:
function twitterify($ret) {
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t< ]*)#", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
$ret = preg_replace("/@(\w+)/", "<a href=\"http://www.twitter.com/\\1\" target=\"_blank\">@\\1</a>", $ret);
$ret = preg_replace("/#(\w+)/", "<a href=\"http://search.twitter.com/search?q=\\1\" target=\"_blank\">#\\1</a>", $ret);
return $ret;
}
已从this website拉出。
关于如何解决这个问题的任何想法?我听说Twitter已经改变了他们的API,这可能是问题吗?
答案 0 :(得分:1)
这似乎与RSS fetch_feed()函数有关。当fetch_feed()成功时,它返回一个具有get_items()方法的SimplePie类。 但是,如果fetch_feed失败,它会返回一个WP_Error类,它没有get_items()方法,现在你正在调用一个未定义的函数。
这可能如下所示:
$rss = fetch_feed($url);
$rss->get_items();
在这个例子中,如果fetch_feed()函数失败,$ rss将是一个WP_Error类...