在WooCommerce中防止重复购买产品变体可以通过几种方法实现。以下是一些常用的方法:
如果你需要更高级的控制,可以通过编写自定义代码来实现防止重复购买。
functions.php
文件中添加以下代码:function prevent_duplicate_purchase( $passed, $product_id, $quantity ) {
$current_user = wp_get_current_user();
$order_count = wc_get_customer_order_count( $current_user->ID );
// 检查用户是否已经购买过该产品变体
$orders = wc_get_orders( array(
'customer_id' => $current_user->ID,
'product_ids' => $product_id,
'status' => wc_get_is_paid_statuses(),
) );
if ( count( $orders ) > 0 ) {
wc_add_notice( '您已经购买过此产品变体,无法再次购买。', 'error' );
$passed = false;
}
return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'prevent_duplicate_purchase', 10, 3 );
prevent_duplicate_purchase
函数会在添加商品到购物车时进行检查。wc_get_customer_order_count
获取当前用户的订单总数。wc_get_orders
获取当前用户购买过指定产品变体的所有订单。领取专属 10元无门槛券
手把手带您无忧上云