【发布时间】:2021-10-26 16:46:32
【问题描述】:
我有一个工作脚本,它为数组中的某些产品添加费用。 但它只增加了数组中第一个产品的费用。
我根据我的知识尝试了不同的选项,但它不起作用。关于我做错了什么有什么建议吗?
这是代码:
/* Add fee to specific product*/
add_action('woocommerce_cart_calculate_fees', 'statie_geld');
function statie_geld() {
if (is_admin() && !defined('DOING_AJAX')) {return;}
foreach( WC()->cart->get_cart() as $item_keys => $item ) {
$quantiy = $item['quantity']; //get quantity from cart
if( in_array( $item['product_id'], statiegeld_ids() )) {
WC()->cart->add_fee(__('Statiegeld Petfles 24'), 3.60 * $quantiy );
}
}
}
function statiegeld_ids() {
return array( 4535, 4537, 89694, 89706, 3223, 4742, 14846, 26972, 32925, 32927, 32929, 37475 );
}
【问题讨论】:
-
在循环的第一次迭代过程中是否检查过日志是否有任何错误?也许只有第一个产品 ID 在您的
statiegeld_ids中?
标签: php wordpress woocommerce cart fee