我有以下代码使用Woocommerce插件将多个项目添加到购物车,它给我致命错误:
致命错误:达到最大功能嵌套级别'100',正在中止!在第94行的... \ wp-content \ plugins \ woocommerce \ woocommerce.php
我也尝试增加嵌套级别,但没有帮助。 这是代码:
add_action( 'init', 'multi_add_to_cart' );
function multi_add_to_cart() {
if( !isset( $_POST['multi_add_to_cart_nonce'] ) ) return false;
if ( !wp_verify_nonce( $_POST['multi_add_to_cart_nonce'], 'multi_add_to_cart_nonce') ) return false;
global $woocommerce;
$added_products = 0;
foreach( $_POST['multi_add_to_cart'] as $variation_id => $variation ) {
if( (int) $variation['quantity'] > 0 ) {
$woocommerce->cart->add_to_cart(
$variation['product_id'], // string $product_id
$variation['quantity'], // string $quantity = 1
(int) $variation_id, // integer $variation_id = ''
( isset($variation['attributes']) && !empty($variation['attributes']) ) ? $variation['attributes'] : false // Attributes!
);
$added_products++;
}
}
if( $added_products > 0 ) woocommerce_add_to_cart_message($variation['product_id'] );
}
答案 0 :(得分:2)
可能有很多函数挂钩到init
。尝试将init
更改为template_redirect
。