PHP Warning「Undefined array key “itemRestriction”」について

フォーラム バグ報告 PHP Warning「Undefined array key “itemRestriction”」について

  • このトピックには1件の返信、2人の参加者があり、最後にikdにより4週前に更新されました。
2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • 投稿者
    投稿
  • #104229
    ichimai
    参加者

    ——————————————-
    WordPress のバージョン:7.0.1
    Welcart のバージョン:2.11.31
    PHP のバージョン:8.2
    ご利用の親テーマとバージョン :Lightning Pro 8.27.2
    ご利用の子テーマとバージョン :lightning_pro_child 0.1.2
    症状を確認したブラウザ:Chrome
    サーバー【重要】:Xサーバー
    ——————————————–

    いつもお世話になっております。

    「購入個数の制限」欄を一度も保存していない商品について、以下のPHP Warningが表示される事象を確認しましたので、ご報告いたします。

    【発生箇所】

    classes/usceshop.class.php 5333行目
    classes/usceshop.class.php 5450行目
    includes/edit-form-advanced34.php 108行目

    【再現条件】

    「購入個数の制限」欄が未設定(postmetaが未作成)の商品を、カートに入れる(在庫チェック時)または商品編集画面を開く

    上記いずれかを行うと、下記の警告が表示されます。

    Warning: Undefined array key “itemRestriction” in …/usceshop.class.php on line 5450

    【原因と考えられる箇所】

    上記3箇所では、$product[‘itemRestriction’] を直接参照しています。

    php$itemRestriction = $product[‘itemRestriction’];

    一方、同ファイル内の他の箇所(2314行目、7170行目など)では、以下のように isset() によるチェックが行われており、キーが存在しない場合でも安全に処理されています。

    php$itemRestriction = isset( $product[‘itemRestriction’] ) ? $product[‘itemRestriction’] : ”;

    3箇所のみこのチェックが抜けているため、警告が発生していると考えられます。

    【ご提案】

    該当の3箇所についても、他の箇所と同様に isset() チェックを追加していただければ、警告は解消されるかと存じます。

    php$itemRestriction = isset( $product[‘itemRestriction’] ) ? $product[‘itemRestriction’] : ”;

    なお、現状は当方の子テーマ側で wel_get_product フィルターを用いて暫定対応しておりますが、本体側でのご対応をご検討いただけますと幸いです。

    お手数をおかけしますが、ご確認のほどよろしくお願いいたします。

    #104231
    ikd
    キーマスター

    ichimai 様
    こんにちは。
    ご連絡ありがとうございます。
    今のところ弊社の環境では再現はしておりませんが、
    次期バージョンにてご指摘のとおり修正させていただきます。

2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • このトピックに返信するにはログインが必要です。