checkbox - 存档页面上的 WooCommerce 附加费用复选框
问题描述
我使用 WooCommerce 创建了一个商店页面,其中单个产品页面被禁用。在存档页面上有一个数量输入字段,在此之前我想添加一个额外的费用复选框。此代码不起作用,我不知道在哪里修改以将该费用添加到购物车和结帐。你能帮帮我吗?谢谢!
这是我的代码:
// FRONTEND
function additional_fee() {
if ( has_term( array( 'test' ), 'product_cat' ) ) {
echo '<input type="checkbox" name="additional-fee" value="No">Additional Fee';
} else {
return;
}
}
add_action( 'woocommerce_after_shop_loop_item_title', 'additional_fee' );
// STORE DATA
function store_additional_fee( $cart_item_data, $product_id, $variation_id ) {
if( isset( $_POST['additional-fee'] ) ) {
$cart_item_data['additional-fee'] = $_POST['additional-fee'];
}
return $cart_item_data;
}
add_filter( 'woocommerce_add_cart_item_data', 'store_additional_fee', 10, 3 );
// ADD TO CHECKOUT
function add_checkout_additional_fee( $cart_object ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
if ( isset( $cart_item['additional-fee'] ) ) {
$ndmtransferfee = true;
$quantity = $cart_item['quantity'];
break;
}
}
$fee = 5000;
if ( $ndmtransferfee ) {
WC()->cart->add_fee( __('Additional Fee', 'textdomain'), $fee * $quantity );
}
}
add_action( 'woocommerce_cart_calculate_fees', 'add_checkout_additional_fee', 10, 1 );
解决方案
好的,它已根据 LoicTheAztec 回复成功运行。谢谢!
推荐阅读
- python - 从Python中的对象属性获取对象
- python - 如何在 Python 中返回可迭代对象?
- c# - C# DispatcherTimer 问题
- python - 图表的 X-label 不可见
- c# - 长时间运行的任务的任务取消异常
- amazon-web-services - aws-amplify 在中国有用吗?中国用户可以访问在欧洲服务器中设置的 aws-amplify
- android - 获取 UI 层次结构 XML 文件时出错:com.android.ddmlib.SyncException:远程对象不存在!",显示带有动态定位器的应用程序
- git - git 无法在一个项目上提取或获取代码,但在其他项目上工作正常
- lua - lua错误加载本地火炬文件
- php - 显示带有 if 条件的短期到期项目