我的要求是,我想允许只允许选定的客户可以购买一些特定的产品。其他客户不能购买该产品。
我有所有客户电子邮件 ID 列表。当客户在结帐时将其电子邮件 ID 添加到帐单地址时,如果该电子邮件 ID 与管理员侧邮件 ID 匹配,则仅允许购买该产品。
但是在结帐页面和我的帐户页面的前端我禁用了登录和注册。所以所有的顾客都是客人。那么没有用户角色限制怎么可能呢?
任何人都知道这个解决方案然后请帮助我。
谢谢。
我的要求是,我想允许只允许选定的客户可以购买一些特定的产品。其他客户不能购买该产品。
我有所有客户电子邮件 ID 列表。当客户在结帐时将其电子邮件 ID 添加到帐单地址时,如果该电子邮件 ID 与管理员侧邮件 ID 匹配,则仅允许购买该产品。
但是在结帐页面和我的帐户页面的前端我禁用了登录和注册。所以所有的顾客都是客人。那么没有用户角色限制怎么可能呢?
任何人都知道这个解决方案然后请帮助我。
谢谢。
你可以试试这个代码,它会限制其他用户在你的网站上购买。它只会允许您的电子邮件 ID 列表中的客户购买,
add_action( 'woocommerce_after_checkout_validation' , 'add_user_email_restriction', 10, 2 );
function add_user_email_restriction( $data, $errors ) {
$valid_emails = get_available_email_addresses();
// should be in array format
if( isset( $data[ 'billing_email' ] ) && !empty( $data[ 'billing_email' ] ) ) {
if( !in_array( $data[ 'billing_email' ], $valid_emails ) ) {
$errors->add( 'email', __( 'You are not allowed to purchase.', 'text-domain' ) );
}
}
}
function get_available_email_addresses() {
return array('test@gmail.com','test2@gmail.com');
}