✓ Vendor'; $nonce = wp_create_nonce( 'vv_approve_vendor_' . $user_id ); return 'Approve as Vendor'; case 'vv_orders': return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(DISTINCT order_id) FROM {$wpdb->prefix}vv_system_orders WHERE product_owner_user_id=%d", $user_id ) ); case 'vv_products': return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->prefix}posts WHERE post_author=%d AND post_type='product' AND post_status='publish'", $user_id ) ); case 'vv_balance': return VV_Helpers::is_vendor( $user_id ) ? wc_price( VV_Helpers::get_vendor_balance( $user_id ) ) : '—'; } return $val; } public function handle_approve() { if ( ! isset( $_GET['vv_approve'] ) || ! current_user_can( 'manage_options' ) ) return; $user_id = (int) $_GET['vv_approve']; if ( ! wp_verify_nonce( sanitize_text_field( $_GET['_wpnonce'] ?? '' ), 'vv_approve_vendor_' . $user_id ) ) return; update_user_meta( $user_id, 'vv_user_role', 'Vendor' ); wp_redirect( admin_url( 'users.php?vv_approved=1' ) ); exit; } } new VV_Admin_Users();