How to add user referral code to every order details email?
If you do not have guest referral codes enabled, add this:
function gens_raf_customer_email( $order, $sent_to_admin, $plain_text ) { $user_id = ( version_compare( WC_VERSION, '2.7', '<' ) ) ? $order->customer_user : $order->get_customer_id(); if( ! empty( $user_id ) && ( $code = get_user_meta($user_id, "gens_referral_id", true) ) != '' ){ if( $plain_text ){ _e('Your referral code is: ','gens-raf') . $code; } else { echo '<p style="text-align:center;margin-top:10px;">Your referral code is: ' .get_home_url() .'?raf='. $code . '</p>'; } } } add_action('woocommerce_email_customer_details', 'gens_raf_customer_email', 30, 3 );
If you have guest referral codes enabled, use this one:
function gens_raf_customer_email( $order, $sent_to_admin, $plain_text ) { $user_id = ( version_compare( WC_VERSION, '2.7', '<' ) ) ? $order->customer_user : $order->get_customer_id(); if( ! empty( $user_id ) && ( get_user_meta($user_id, "gens_referral_id", true) ) != '' ){ $code = get_user_meta($user_id, "gens_referral_id", true); } else { $code = ( version_compare( WC_VERSION, '2.7', '<' ) ) ? $order->billing_email : $order->get_billing_email(); } if( $plain_text ){ _e('Your referral code is: ','gens-raf') . $code; } else { echo '<p style="text-align:center;margin-top:10px;">Your referral code is: ' .get_home_url() .'?raf='. $code . '</p>'; } } add_action('woocommerce_email_customer_details', 'gens_raf_customer_email', 30, 3 );
Once you add this code, referral link should be showing at the bottom of every order email, like shown on the image below.