Kunoichi MarketSupport Forum

【プラグイン名】
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が返り、エラーになっている可能性があります。

コメントをする権限がありません。ログインしてください。

  • 岩崎義弘 購読者 2026年8月3日

    自己解決しました。
    32行目を
    if ( ‘completed’ !== $order->get_status() ) {
      ↓
    if ( ! $order || ‘completed’ !== $order->get_status() ) {
    とすることでエラーは解消できてるっぽいです。

このスレッドにはまだコメントがありません。

このスレッドをフォローしている人たち

このスレッドをフォローするにはログインしてください。

1人がフォロー中です。