2017-07-19 9 views
0

私のサイトでは、テスト購入後に白いページに次の警告が表示されます。サイトファイルをPHP7サーバに移動した際に警告が発生しました

警告:行にwordpress.phpに空の値から、デフォルトのオブジェクトを作成する1460
警告:ヘッダー情報を変更することはできません - すでにによって送られたヘッダは、(出力はライン上wordpress.phpで開始1842

ライン1460は、以下を参照:$totals->quantity = $total_qty;

これは、コードの一部です:

if (!function_exists('yak_get_totals')) { 
    /** 
    * Return an array containing the total quantity and total price of an array of items. 
    */ 
    function yak_get_totals(&$items) { 
     $total_qty = 0; 
     $total_price = 0; 
     foreach ($items as $key=>$item) { 
      if (!isset($item->price)) { 
       $item->price = yak_calc_price($item->id, $item->cat_id, $item->price); 
      } 
      $total_qty += $item->quantity; 
      $total_price += ($item->price * $item->quantity); 
     } 
     $totals->quantity = $total_qty; 
     $totals->price = $total_price; 
     return $totals; 
    } 
} 

このコードは、WordPressで長年使用してきたプラグインの一部です。プラグインの開発者はサーバーを変更したので、PHP7で動作するようにコードを更新しようとしています。

バックエンドではプラグインは、それが必要として働いています。販売が行われ、注文エリアに購入が表示されたことを示すメールが送信されます。ただし、顧客は注文確認ページにアクセスせず、代わりにこのページを取得します。

答えて

0

この問題の回答が見つかりました。 $totals = new StdClass;

これは、両方のエラーが再び発生したことはありません行われた後、以下の行1460 $totals->quantity = $total_qty;

$合計は次のように宣言する必要があります。これは将来的に他の人を助けるかもしれない

願っています!

ありがとうございます!

関連する問題