-
-
Save rameshelamathi/380719463e6c3b68a35b89d7aa01c1f0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// guest registration | |
function wc_register_guests( $order_id ) { | |
// get all the order data | |
$order = new WC_Order($order_id); | |
//get the user email from the order | |
$order_email = $order->billing_email; | |
// check if there are any users with the billing email as user or email | |
$email = email_exists( $order_email ); | |
$user = username_exists( $order_email ); | |
// if the UID is null, then it's a guest checkout | |
if( $user == false && $email == false ){ | |
// random password with 12 chars | |
$random_password = wp_generate_password(); | |
// create new user with email as username & newly created pw | |
$user_id = wp_create_user( $order_email, $random_password, $order_email ); | |
$user_id_role = new WP_User($user_id); | |
$user_id_role->set_role('guest'); | |
//WC guest customer identification | |
update_user_meta( $user_id, 'guest', 'yes' ); | |
//user's billing data | |
update_user_meta( $user_id, 'billing_address_1', $order->billing_address_1 ); | |
update_user_meta( $user_id, 'billing_address_2', $order->billing_address_2 ); | |
update_user_meta( $user_id, 'billing_city', $order->billing_city ); | |
update_user_meta( $user_id, 'billing_company', $order->billing_company ); | |
update_user_meta( $user_id, 'billing_country', $order->billing_country ); | |
update_user_meta( $user_id, 'billing_email', $order->billing_email ); | |
update_user_meta( $user_id, 'billing_first_name', $order->billing_first_name ); | |
update_user_meta( $user_id, 'billing_last_name', $order->billing_last_name ); | |
update_user_meta( $user_id, 'billing_phone', $order->billing_phone ); | |
update_user_meta( $user_id, 'billing_postcode', $order->billing_postcode ); | |
update_user_meta( $user_id, 'billing_state', $order->billing_state ); | |
// user's shipping data | |
update_user_meta( $user_id, 'shipping_address_1', $order->shipping_address_1 ); | |
update_user_meta( $user_id, 'shipping_address_2', $order->shipping_address_2 ); | |
update_user_meta( $user_id, 'shipping_city', $order->shipping_city ); | |
update_user_meta( $user_id, 'shipping_company', $order->shipping_company ); | |
update_user_meta( $user_id, 'shipping_country', $order->shipping_country ); | |
update_user_meta( $user_id, 'shipping_first_name', $order->shipping_first_name ); | |
update_user_meta( $user_id, 'shipping_last_name', $order->shipping_last_name ); | |
update_user_meta( $user_id, 'shipping_method', $order->shipping_method ); | |
update_user_meta( $user_id, 'shipping_postcode', $order->shipping_postcode ); | |
update_user_meta( $user_id, 'shipping_state', $order->shipping_state ); | |
// link past orders to this newly created customer | |
wc_update_new_customer_past_orders( $user_id ); | |
//start edit by Ramesh @campaignrabbit | |
//pass the current user's data | |
$old_user_data = $user_id_role; | |
//trigger the profile_update event. | |
do_action( 'profile_update', $user_id, $old_user_data ); | |
//end edit by Ramesh @campaignrabbit | |
} | |
} | |
//add this newly created function to the thank you page | |
add_action( 'woocommerce_thankyou', 'wc_register_guests', 10, 1 ); | |
add_action( 'gform_user_registered', 'add_bday', 10, 3 ); | |
function add_bday( $user_id, $feed, $entry ) { | |
$form_id = $entry['form_id']; | |
switch ($form_id) { | |
//wholesle registration via gform | |
case 1: | |
//do_action( 'profile_update', $user_id, $old_user_data ); | |
break; | |
//reward member registration gform | |
case 3: | |
$birthday = get_user_meta($user_id,'wpdv_birthday_calender',true); | |
if(!empty($birthday)){ | |
$birthday_var = explode('-',$birthday); | |
$birthday_var = $birthday_var[1]."-".$birthday_var[2]; | |
update_user_meta($user_id,'wpdv_birthday',$birthday_var); | |
} | |
break; | |
default: | |
break; | |
} | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment