Php 如何将自定义字段计算为WooCommerce购物车中的额外费用?
我对在WooCommerce的购物车中计数有意见。 我想为每个产品添加一个处理费字段,并戏剧性地计算购物车中的总费用。 根据我的研究,我在我的产品中创造了一个领域。 我的下一步是在我的购物车中计算这个字段。 我也在谷歌上搜索过这个问题,但我只能找到一些解决方案()来计算固定费用,而不是戏剧性的功能。Php 如何将自定义字段计算为WooCommerce购物车中的额外费用?,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我对在WooCommerce的购物车中计数有意见。 我想为每个产品添加一个处理费字段,并戏剧性地计算购物车中的总费用。 根据我的研究,我在我的产品中创造了一个领域。 我的下一步是在我的购物车中计算这个字段。 我也在谷歌上搜索过这个问题,但我只能找到一些解决方案()来计算固定费用,而不是戏剧性的功能。 您需要的功能是获取自定义字段的值 $prod_fee = get_post_meta($item['product_id'] , '_number_field', true); 然后您可以将其
您需要的功能是获取自定义字段的值
$prod_fee = get_post_meta($item['product_id'] , '_number_field', true);
然后您可以将其累积并显示为合并费用。您需要从产品元数据中获取产品费用,因为@Anfelipe提供了代码
$prod\u fee=get\u post\u meta($item['product\u id','u number\u field',true)代码>
之后,您需要在中添加条件或进行计算
function add_custom_fees( WC_Cart $cart ){
$fees = 0;
$prod_fee = get_post_meta($item['product_id'] , '_number_field', true);
foreach( $cart->get_cart() as $item ){
$fees += $item[ 'quantity' ] * $prod_fee ;
}
if( $fees != 0 ){
$cart->add_fee( 'Handling fee', $fees);
}
}
嗨,米图尔,谢谢你的回复。我已将您的示例添加到我的项目中。但这并不是发生在我的小计栏购物车里的事情。我还尝试使用另一个字段作为变量,例如“\u sale\u price”。结果是一样的。你可能知道哪里错了吗?再次感谢。嗨,米图尔,谢谢你的例子。它激励我达到我想要的功能。嗨,安费利佩,谢谢你的回复,我试过你的例子。它不起作用,而且似乎无法从产品中获得价值$prod_fee=get_post_meta($item['product_id','u number_field',true)$生产费用=5//这个例子很有效。你是如何实现这个解决方案的?@Mitul的答案是错误的,因为$item['product\u id']不在foreach的范围内,所以将$prod\u费用放在foreach块中。
$prod_fee = get_post_meta($item['product_id'] , '_number_field', true);
function add_custom_fees( WC_Cart $cart ){
$fees = 0;
$prod_fee = get_post_meta($item['product_id'] , '_number_field', true);
foreach( $cart->get_cart() as $item ){
$fees += $item[ 'quantity' ] * $prod_fee ;
}
if( $fees != 0 ){
$cart->add_fee( 'Handling fee', $fees);
}
}