‘Missing fields.’]);
}

// Activation Link (NOTE: demo approach; in production use a stored token)
$activation_link = add_query_arg(
[
‘sbl_activate’ => ‘true’,
‘rider_name’ => $name,
‘rider_phone’ => $phone,
‘rider_email’ => $email,
],
$current_url
);

$policy_link = home_url(‘/booking-policies’);

$subject = ‘Action Required: Activate your Swiss Black Limo Account’;
$headers = [‘Content-Type: text/html; charset=UTF-8’];

$name_esc = esc_html($name);
$policy_link_esc = esc_url($policy_link);
$activation_link_esc = esc_url($activation_link);

$message = ”



Welcome, {$name_esc}!

Thank you for registering with Swiss Black Limo International.

Step 1: Please read our booking rules here:
Booking Policies – Swiss Black Limo International

Step 2: You must activate your account to book a ride:

Click Here to Activate Account

See you soon!



“;

$sent = wp_mail($email, $subject, $message, $headers);

if ($sent) {
wp_send_json_success([‘message’ => ‘Email sent’]);
} else {
wp_send_json_error([‘message’ => ‘Failed to send email. Check WP mail settings/logs.’]);
}

wp_die();
}

/**
* 2) FRONTEND: UI injected in footer
*/
add_action(‘wp_footer’, function () {
$ajax_url = admin_url(‘admin-ajax.php’);
$nonce = wp_create_nonce(‘sbl_nonce’);

// ✅ Put your real Google Maps API key here
$google_maps_key = ‘AIzaSyAPJpb4jbbnovmAJQIUhO0jgEnCrWtIPPE’;
?>


Don`t copy text!