welcart

WelCart Cannot use object of type WP_Error as array ログインできねー!

いきなりワードプレスにログインできなくなりました。

エラーメッセージが出ています。

Cannot use object of type WP_Error as array in ~

見ると usc-e-shop のプラグインの中。

要するに呼び出している関数の求めている方とちゃうで~ってことで。


もし、あなたが このエラーメッセージの中に

update_check.php

とかいう文字列を見つけたら、ラッキーです。

治ります。


たぶん、59行目前後だぜ、とか言ってません?

おお!言ってますか?!

ご安心ください。

指示しているステートメントは、これですか?
     ↓
$wcproducts = (array)json_decode($response[‘body’]);

そう?

おめでとうございまーす!

Cannot use object of type WP_Error as array の原因


その行の一つ上を見てください。

\$response = wp_remote_post( USCES_UPDATE_INFO_URL.’/update_info/info_api.php’, $options );

これ、バージョンアップ検査した結果を返してるんです。

バージョンアップ検査は、WELCARTのサイト。

そおが落ちてるとバージョンアップ情報の仮想配列ではなく WP_Error が返ってきます。

要するに仮想配列を求めてるのに、なにしてくれてんじゃー!ってことで

\$wcproducts = (array)json_decode(\$response[‘body’]);

の行で落とされちゃってるんです。

こういう時の対応とかWELCART甘いよね。

おいといて・・・

Cannot use object of type WP_Error as array の対策


配列が返ってきてるかチェックして、配列じゃなかったら、それは WP_Error なわけだから、

今はバージョンアップ検査できないってことで、パスしちゃおう。

こう書けば逃げられます。



$response = wp_remote_post( USCES_UPDATE_INFO_URL.′/update_info/info_api.php′, $options );
if(!is_array($response)){
return;
}
$wcproducts = (array)json_decode($response[′body′]);


スポンサードリンク

関連記事一覧