如何为TeraWallet - For WooCommerce设置钱包支付最低订单限额?
为TeraWallet - For WooCommerce设置钱包支付专属最低订单限额
要实现仅针对钱包支付场景的最低订单限额限制,可通过自定义代码拦截支付网关的可用性,具体方案如下:
实现代码
将以下代码添加到WordPress主题的functions.php文件中,或使用自定义代码管理插件(如Code Snippets):
add_filter('woocommerce_available_payment_gateways', 'restrict_wallet_payment_minimum_amount'); function restrict_wallet_payment_minimum_amount($gateways) { // 仅在前端结账页面生效 if (!is_checkout() || is_admin()) { return $gateways; } // 设置钱包支付最低订单金额(根据店铺货币单位调整数值) $minimum_wallet_amount = 50; $current_cart_total = WC()->cart->total; // 检查钱包支付网关是否存在,且订单总额低于限额 if (isset($gateways['woo_wallet']) && $current_cart_total < $minimum_wallet_amount) { // 显示错误提示 wc_add_notice(sprintf('使用钱包支付需满足最低订单金额 %s', wc_price($minimum_wallet_amount)), 'error'); // 移除钱包支付选项 unset($gateways['woo_wallet']); } return $gateways; }
代码说明
- 钩子选择:通过
woocommerce_available_payment_gateways过滤可用支付网关,确保仅在结账流程中生效 - 限额自定义:修改
$minimum_wallet_amount的值为你需要的最低订单金额,注意与店铺货币单位保持一致(例如人民币填写50表示50元) - 逻辑控制:当购物车总额低于设定限额时,自动移除钱包支付选项,并向用户展示明确的错误提示
- 场景限制:通过
is_checkout()和is_admin()判断,避免在后台或其他页面触发限制逻辑
内容的提问来源于stack exchange,提问作者SND Dev
相关产品推荐
相关产品推荐

