feat: Move customer registration to site-level setting
Moved 'Register as site member' from order-level to site-level setting Frontend Changes: 1. Customer Settings - Added new General section - Auto-register customers as site members toggle - Clear description of functionality - Saved to backend via existing API 2. OrderForm - Removed checkbox - Removed registerAsMember state - Removed checkbox UI - Removed register_as_member from payload - Backend now uses site setting Backend Changes: 1. CustomerSettingsProvider.php - Added auto_register_members setting - Default: false (no) - Stored as woonoow_auto_register_members option - Included in get_settings() - Handled in update_settings() 2. OrdersController.php - Removed register_as_member parameter - Now reads from CustomerSettingsProvider - Site-level setting applies to all orders - Consistent behavior across all order creation Benefits: ✅ Site-level control (not per-order) ✅ Consistent customer experience ✅ Easier to manage (one setting) ✅ No UI clutter in order form ✅ Setting persists across all orders Migration: - Old orders with checkbox: No impact - New orders: Use site setting - Default: Disabled (safe default) Result: Admins can now control customer registration site-wide from Customer Settings instead of per-order checkbox
This commit is contained in:
@@ -780,7 +780,10 @@ class OrdersController {
|
||||
$shipping_method = sanitize_text_field( $p['shipping_method'] ?? '' ); // e.g. flat_rate:1
|
||||
$coupons = array_filter( array_map( 'sanitize_text_field', (array) ( $p['coupons'] ?? [] ) ) );
|
||||
$note = isset( $p['customer_note'] ) ? wp_kses_post( (string) $p['customer_note'] ) : '';
|
||||
$register_member = (bool) ( $p['register_as_member'] ?? false );
|
||||
|
||||
// Get auto-register setting from customer settings (site-level)
|
||||
$customer_settings = \WooNooW\Compat\CustomerSettingsProvider::get_settings();
|
||||
$register_member = $customer_settings['auto_register_members'] ?? false;
|
||||
|
||||
// Validation: Collect all missing required fields
|
||||
$validation_errors = [];
|
||||
|
||||
Reference in New Issue
Block a user