Для моего сайта членства все учетные записи создаются в бэкэнде. После того, как я создаю нового пользователя, я хочу, чтобы он получил электронное письмо для установки своего пароля. Однако стандартная электронная почта Wordpress потребовала некоторых изменений, поэтому я создал следующий код, чтобы отключить стандартную электронную почту и создать собственную:
function vc_mailtrap($phpmailer){
if( strpos($phpmailer->Subject, 'Logingegevens') ){
$phpmailer->ClearAllRecipients();
}
}
add_action('phpmailer_init', 'vc_mailtrap');
function custom_registration_email_alert( $user_id ) {
$user = new WP_User( (int) $user_id );
$user_login = $user->user_login;
$user_email = $user->user_email;
$adt_rp_key = get_password_reset_key( $user );
$rp_link = '<a href="' . network_site_url("wp-login.php?action=rp&key=$adt_rp_key&login=" . rawurlencode($user_login), 'login') . '">' . network_site_url("wp-login.php?action=rp&key=$adt_rp_key&login=" . rawurlencode($user_login), 'login') . '</a>';
$subject = 'Welcome!';
$message = '<h3>Welcome!</h3>';
$message .= '<p>You can set a password using the link below: </p>';
$message .= '<p>'.$rp_link.'</p>';
wp_mail( $user_email, $subject, $message );
}
add_action('user_register', 'custom_registration_email_alert', 10, 1 );
Электронная почта работает отлично, но ссылка для сброса пароля недействительна. Он добавляет ключ к электронному письму, но когда пользователь нажимает на него, он всегда говорит, что ключ недействителен.
Как мне это исправить? Спасибо!