-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 が失敗すると、get_items() のメソッドを持たない WP_Error クラスが返され、未定義の関数を呼び出すことになります。

これは次のようになります。

$rss = fetch_feed($url);
$rss->get_items();

この例では、fetch_feed() 関数が失敗した場合、$rss は WP_Error クラスになります...

于 2012-10-11T23:00:18.697 に答える