在在线课程、订阅、定制产品和产品个性化的时代,可能会出现用户一生只能购买一次产品的场景。
在这个简短的教程中,我们将看到这是如何完成的。显然,用户必须登录才能触发代码,因此这适用于需要结账登录才能继续执行订单的商店。
PHP 片段:一生中购买一次产品 @ WooCommerce 单品/购物车/结帐
/** * @snippet Deny second purchase * @how-to Get CustomizeWoo.com FREE * @author Rodolfo Melogli * @testedwith WooCommerce 6 * @donate $9 https://businessbloomer.com/bloomer-armada/ */ add_filter( 'woocommerce_is_purchasable', 'bbloomer_deny_purchase_if_already_purchased', 9999, 2 ); function bbloomer_deny_purchase_if_already_purchased( $is_purchasable, $product ) { if ( is_user_logged_in() && wc_customer_bought_product( '', get_current_user_id(), $product->get_id() ) ) { $is_purchasable = false; } return $is_purchasable; }
- 最好添加一条通知来告诉用户为什么“添加到购物车”没有显示。上面的代码片段只隐藏了添加到购物车
- 如果已经购买的产品在购物车中,并且用户从那里登录,项目将从购物车中删除并显示错误消息
- 同样适用于结帐页面,以防用户从那里登录
以上代码您只需要复制到您所在的主题function.php文件中即可实现。更多教程请访问石家庄网站建设其他相关文章
评论0