我不太熟悉wordpress,但是在尝试以编程方式将产品添加到购物车时遇到了一个奇怪的问题。以编程方式将产品添加到购物车时出现问题
流程是这样的:
客户浏览产品
客户可以添加额外的产品,他们的车通过选择复选框选项
的项目和补充项目应该被添加到购物车中,如果该复选框确认检查
// product_extra_item_checkbox.php
add_action('woocommerce_before_add_to_cart_button', 'product_extra_item_checkbox');
add_action('woocommerce_add_to_cart', 'add_additional_item_to_cart');
function product_extra_item_checkbox() {
echo "
<input id='_add_additional_item' type='checkbox' class='checkbox add_item' value='1' name='_add_additional_item' />
";
}
function add_additional_item_to_cart() {
global $woocommerce;
if (isset($_POST['_add_additional_item'])) {
$productId = 59;
$woocommerce->cart->add_to_cart($productId);
echo "<script>alert('ADDED ADDITIONAL PRODUCT TO CART!!!');</script>"; // debug
}
}
我没有得到来自Xdebug的话说,调用栈一些投诉已经超过了,所以我想这是有关,但我不能为我的生命弄清楚为什么整个网站崩溃时我只是想做一些以前做过的事情(我发现了WordPress的例子不是我的强项)。
这是我的开发环境的限制,还是我在做一些非常错误的事情?
编辑:我在我的开发环境中禁用了xdebug,但网站崩溃了。
我测试过一些,得到了另一条错误消息:
Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes) in .../wp-includes/taxonomy.php on line 1989
似乎只涉及到$woocommerce->cart->add_to_cart($productId);
。