どこまでよ?

日常ツッコミメモ

WordpressのWoocommerceプラグインからWarningが発注メールに書き込まれる

サイトのテーマやらプラグインやらをアップデートしたところ通販サイトのメールに以下の文章が書き込まれるようになったのです。

Warning: Missing argument 4 for AddressField4jp::email_order_delivery_details() in /home/略/wp-content/plugins/woocommerce-for-japan/includes/class-wc-address-field-4jp.php on line 678

幸い顧客に送られる発注メールには書き込まれないのですが、これが原因で何かトラブルが合っても・・・ということで、色々調べました。


最初は「wp-content/plugins/woocommerce-for-japan/includes/class-wc-address-field-4jp.php」で検索してヒットしたのはこちら。症状は書いてあるけど具体的な対応がない。

Topic: WooCommerce Bookings « WordPress.org Forums

恐れ入ります。何度もありがとうございます。
そうですか。。。
とりあえず、この場しのぎとしてメール提供サービスを閉じるのが最善のように感じています。
フォーラムでの議題については、過去の投稿を参照して決めていきたいと思います。
ありがとうございました。とても助かりました。

 

私は全然助からないです。具体的な対応がない。

ということで次に見つけたのはこちら

Topic: WooCommerce Bookings « WordPress.org Forums

shohei.tanaka 

(@shoheitanaka)

すいません。こちらのサポートの対応が抜けておりました。
近日中に確認してアップデートするか対応方法をお伝えします。
しばらくお待ち下さい。

七ヶ月後の現在も症状出てます。

次は「Warning: Missing argument 4 for AddressField4jp」で検索。エラー原因から類似に寄せていきます。

Warning: Missing argument の原因 | 本能重視 - 楽天ブログ

Warning: Missing argument 4 for クラス名::関数名()....


↑に出てきたクラスの関数の4つ目の引数が合ってないというエラーらしい。
確かに4つ引数を渡されるように書いていたものの、3つしか渡していなかった。


数を合わせたら無事にエラー解消。

日本語化にする時になにかが抜けたのかなと推測。

しかし、実際に該当の678行目のphpをみてみるとどれもいるだろうという文字・・・

function email_order_delivery_details( $order, $sent_to_admin, $plain_text, $email ) {

 そこで、最初に戻り

この場しのぎとしてメール提供サービスを閉じる 

 メール提供サービスは具体的に何処かを探してみると、

WooCommerceで作る通販サイト[設定→Eメール] | 1vision.blue

メール問い合わせ先

分かりにくいタイトルですが、ショップ側とお客様に送信される「通知メール」の設定項目です。
ショップ側に送られるものは、このままで構いません。
お客様に送られるものは、以下のものは不要ですので「無効化」します。

 

 Woocommerceの本体プラグインの設定にあるEメールで上記のサイトのようにあきらかにいらないものを無効化したところ!

 

Warningがきえましたよ!!!

 

同じお悩みの方へご参考にどうぞ。