P粉1564156962023-08-16 12:23:45
不需要重複查詢以檢查客戶是否有已支付的訂單,WC_Customer
類別中已經有一個輕量級的內建功能,使用get_is_paying_customer()
方法,該方法使用了一個專用於使用者的元資料。
您可以這樣使用它,停用新客戶的「支票」付款方式:
add_filter('woocommerce_available_payment_gateways', 'cheque_payment_gateway_only_for_paying_customers'); function cheque_payment_gateway_only_for_paying_customers($gateways) { if ( ! WC()->customer->get_is_paying_customer() && isset($gateways['cheque']) ) { unset($gateways['cheque']); // 取消“支票”付款选项 } return $gateways; }
將程式碼放入您的子主題的functions.php檔案中(或外掛程式中)。已測試並可正常運作。