我可以在我的主题的 functions.php 文件中添加什么,以便用户只能购买一次产品?就像他们以前曾在商店购买过任何产品一样,他们将无法再次购买。
我想代码看起来像这样(伪代码)并且会使用 woocommerce_add_cart_item_data 过滤器。
add_filter( 'woocommerce_add_cart_item_data', 'woo_check_not_bought_before' );
function woo_check_not_bought_before( $cart_item_data ) {
global $woocommerce;
// Some MYSQL to check if product was bought before
if ($bought_before == 'true') {
$woocommerce->cart->empty_cart();
}
// Echo some text to explain why you can only buy the product once
return $cart_item_data;
}
最佳答案
这是一个简单的解决方案。
add_filter('woocommerce_add_to_cart_validation','rei_woocommerce_add_to_cart_validation',20, 2);
function rei_woocommerce_add_to_cart_validation($valid, $product_id){
$current_user = wp_get_current_user();
if ( wc_customer_bought_product( $current_user->user_email, $current_user->ID, $product_id)) {
wc_add_notice( __( 'Purchased', 'woocommerce' ), 'error' );
$valid = false;
}
return $valid;
}
但问题是任何人都可以创建新用户并再次购买。
关于php - Woocommerce:用户只能购买一次产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25957394/