web-dev-qa-db-ja.com

is_wp_error()とエラー処理

wp_remote_get()を使ってフィードバーナーの "読者"をつかむ関数を構築しようとしています。私はそれが頻繁に0の値を返すことに気づきました。

私は最初、WordPressのエラー(is_wp_error()によって処理される)かwp_remote_get()の欠陥であると思いました。もちろん間違っています..

Feedburnerはクラッシュし続けたばかりなので、有効期限が7日の結果を(決して0にはしないで)保存するために2番目のトランジェントを使用しました。私が頭に浮かぶ部分はis_wp_error()でエラーを処理することです。本番に出す前に、エラーを強制的に処理して、正しく処理できるようにする必要があります。

イラストがあります。

$result = wp_remote_get( 'http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=' . urlencode($username) );

if ( is_wp_error($result) )
    return false;

エラーを強制するための最善の方法は何ですか。 new WP_error()を使うべきですか?

1
VicePrez

WordPressは、WP_Errorオブジェクトを返し、実際にエラーが発生したときにfalseまたはstring(0)を返すときに矛盾する可能性があります。どのフィードバーナーがwp_remote_get()からWP_Errorをトリガーしないのか正確にはわかりません - しかしwp_remote_get()がWP_Errorを返すことを知っていれば、$result = new WP_Error( 'my-error' );を設定するだけです。これはwp_remote_get()がエラーを返すのと同じオブジェクトです。

4
Joe Hoyle