【プラグイン名】
Yamato B2 Exporter for WooCommerce
【バージョン】
2.0.2
【発生環境】
WordPress + WooCommerce(craftginger.jp)
【エラータイプ】
E_ERROR(Fatal Error)
【エラーメッセージ】
Uncaught Error: Call to a member function get_status() on false
【発生ファイル】
/wp-content/plugins/yamato-b2-exporter.2.0.2/includes/YamatoB2MailHandler.php
【発生行】
32行目
【該当コード】
protected function get_order_args( $order ) {
$order = wc_get_order( $order );
if ( ‘completed’ !== $order->get_status() ) { // ← 32行目でエラー
【原因の推測】
wc_get_order( $order ) が false を返すケースで、
その戻り値に対して get_status() を呼び出しているため、
「falseにはget_status()というメソッドがない」というエラーが発生していると考えられます。
このメソッドは以下の2つのフックから呼ばれています。
– woocommerce_email_after_order_table
– woocommerce_order_details_after_order_table
特に前者はWooCommerceの全メール送信時に発火するフックのため、
メールプレビュー機能(架空の注文データ)や、
何らかの理由でIDが解決できない注文に対して処理が実行された際に
falseが返り、エラーになっている可能性があります。