Skip to content

Instantly share code, notes, and snippets.

@patrickfreitasdev
Created November 9, 2023 01:02
Show Gist options
  • Save patrickfreitasdev/e693c96e2cccfa3152436bd4cc565244 to your computer and use it in GitHub Desktop.
Save patrickfreitasdev/e693c96e2cccfa3152436bd4cc565244 to your computer and use it in GitHub Desktop.
<?php
add_filter(
'forminator_custom_form_user_registration_before_insert',
function ($new_user_data) {
add_action('user_register', 'wpmudev_forminator_filter_user_register_email', 10, 2);
return $new_user_data;
}
);
function wpmudev_forminator_filter_user_register_email(int $user_id, array $userdata)
{
remove_action('user_register', 'wpmudev_forminator_filter_user_register_email');
add_filter(
'wp_mail',
function (array $mail_args) use ($user_id, $userdata) {
$needle = 'Account Activated';
$filter_email = substr($mail_args['subject'], -strlen($needle)) === $needle;
if ($filter_email) {
$userdata['user_id'] = $user_id;
$mail_args['message'] = wpmudev_forminator_registration_email_template($userdata);
$mail_args['headers'] = array('Content-Type: text/html; charset=UTF-8');
remove_action('user_register', 'wpmudev_forminator_filter_user_register_email', 10);
}
return $mail_args;
}
);
}
function wpmudev_forminator_registration_email_template(array $user_data = array())
{
if (empty($user_data)) {
return __('Hey! You have registered succesfully!');
}
extract($user_data);
$user = get_user_by('id', $user_id);
$site_name = get_bloginfo('name');
$home_url = home_url();
$login_page = wp_login_url();
$key = get_password_reset_key($user);
$pass_reset_link = network_site_url("wp-login.php?action=rp&key={$key}&login=" . rawurlencode($user_login), 'login');
$tpl = "Dear {$user_login},
<p>Your account on {$site_name} has been activated! Please find your login details below.</p>
<p>Login page: {$login_page}</p>
<p>Username: {$user_login}</p>
<p>
Password: Use the password that you submitted when registering your account, or set a new password at the link below.<br />
<a href=\"{$pass_reset_link}\">{$pass_reset_link}</a>
</p>
<p>This message was sent from {$home_url}</p>";
do_action('retrieve_password_key', $user_login, $key);
return $tpl;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment