希望有一位熟悉结帐流程的woocommerce资深人士可以帮助我解决这个问题。我的商店以折扣价提供样品,但我想将此限制为每位客户的一次性订单。我找到了一个solution that works for registered users,但我想知道是否还有另一种方法可以在订购产品之前强制客人设置帐户。
我在想的是,是否有办法检查客户的结算电子邮件地址是否在结帐阶段订购了此特定产品。因此,他们填写结帐表单并单击“继续”,但在客户被带到支付网关之前,他们的电子邮件地址将被检查以便订购此特定产品,如果是,请将其指向“订单失败”页面而不是通过支付网关。
提前致谢!
答案 0 :(得分:1)
您有两种方法可以实现此功能:
以下是自定义结帐验证的方法。
/**
* Process the checkout
**/
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');
function my_custom_checkout_field_process() {
global $woocommerce;
// Check if set, if its not set add an error. This one is only requite for companies
if ( $_POST['billing_country'] == "NO" )
if (!$_POST['notes'])
$woocommerce->add_error( __('Please add the required information in "Order notes"') );
}