-1

一夜之间,我的网站决定产生以下错误:

致命错误:在第 494 行的 /home/xxx/public_html/wp-content/themes/xxx/functions.php 中调用未定义的方法 WP_Error::get_items()

该错误会中断 twitter 提要,从而停止页面呈现的其余部分。我没有为这个网站实现代码,但令人不安的代码似乎是:

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;
}

已从该网站中提取。

关于如何解决这个问题的任何想法?我听说 Twitter 改变了他们的 API,这可能是问题吗?

4

1 回答 1

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 类...

于 2012-10-11T23:00:18.697 回答