2015-10-18 65 views
0

我有兩個功能,從購物車中刪除項目。一個接受多個值,另一個接受一個值。remove_cart_item(),foreach工作,直接不

function woomps_remove_subs($sub_remove){ 
    global $woocommerce; 
    foreach($sub_remove as $x => $y) { 
     $cart_item_key = WC()->cart->generate_cart_id($y); 
     WC()->cart->remove_cart_item($cart_item_key); 
    }  
} 

function woomps_remove_sub($sub_remove){ 
    global $woocommerce; 
     $cart_item_key = WC()->cart->generate_cart_id($sub_remove); 
     WC()->cart->remove_cart_item($cart_item_key);   
} 
  • woomps_remove_subs - 刪除購物車的物品。
  • woomps_remove_sub - 不會刪除購物車物品。

我在generate_card_id之前記錄了$ y和$ sub_remove,並且這些值的格式相同。

爲什麼第一個代碼段關於第二個代碼段工作?

+0

功能對我來說很好,你還可以添加你正在調用每個功能的參數嗎? – sticksu

+0

我希望看到兩種情況下$ ex的含義。 woomps_remove_subs($ ex)和woomps_remove_sub($ ex)。請粘貼,上面的代碼看起來很好,所以我認爲問題是你怎麼稱呼它。 – sticksu

+0

我不知道我是否完全理解......但: 我打電話給這樣的第一個人:woomps_remove_subs($ ex); ChromePhp :: log(「subs:」。$ sub_remove);在函數執行後輸出:subs:Array在foreach subs之後:222 woomps_remove_sub($ sub_remove); ChromePhp :: log(「sub:」。$ sub_remove);在函數執行後輸出:sub:221 – robped

回答

-1

PHP代碼是正確的。這在我的環境中是一個錯誤。

謝謝。