We have a customized the registration process. Users register themselves. When a user registers, some meta values are updated based on the $user_id
. Now we need to send an email.
We have used action hook named user_register
to send the email. When a user registers, an email will be sent to that user. The problem is that the meta value is not being sent even when I have gave the hook a priority of 100.
How can I fetch the meta value of that particular user using user_register
hook so i can send them in an email?
Here’s the registration code:
add_action( 'user_register', 'sendMailM', 99999, 1 );
function sendMailM( $user_id ) {
$title = "Title";
$from = "noreply@admin.no";
global $wpdb,
$password;
$user = new WP_User( $user_id );
$user_login = stripslashes( $user->user_login );
$user_email = stripslashes( $user->user_email );
$companyCreatedUserP4 = get_user_meta( $user_id, 'companyId', true );
if( ! empty( $companyCreatedUserP4 ) )
{
$current_companyP4 = new WP_User( $companyCreatedUserP4 );
$companyEmailP4 = $current_companyP4->user_email;
$messageAdmin = 'New User ' . $user_login . ' is registered on your site under ' . $current_companyP4->user_firstname . ' company.';
$messageCompanyP4 = 'A new user with a user name: ' . $user_login . ' was registered under your company.';
}
else
{
$messageAdmin = 'New User ' . $user_login . ' is registered on your site.';
}
$message = "<p>You are now registered . Your user name and password are included in this email. </p>";
$message .= "<p>" . sprintf( __( 'Username: %s' ), $user_login ) . "\r\n\r\n</p>";
$message .= "<p>" . sprintf( __( 'Password: %s' ), $passwor d) . "\r\n</p>";
$headers="From: " . $title . '<' . $from . ">\r\nReply-To: " . $from;
add_filter( 'wp_mail_content_type', create_function( '', 'return "text/html";' ) );
wp_mail( get_option( 'admin_email' ), 'New User Registration ', $messageAdmin, $headers ); /*admin*/
if( ! empty( $companyEmailP4 ) )
wp_mail( $companyEmailP4, 'New User Registration ', $messageCompanyP4, $headers ); /*user*/
}
This is the code to create a new user and update the meta value:
$user = wp_insert_user( $userdata );
update_user_meta( $user, 'companyId', 350 );