From 03a3e0d6f4c7d7fa08da9be1a495d63d728ad5a9 Mon Sep 17 00:00:00 2001 From: Rey C Date: Fri, 7 Nov 2025 16:52:14 +0800 Subject: [PATCH 1/2] Fix: More email merge tags and html in email templates Resolves #309 @polevaultweb --- includes/emails/class-wpum-emails.php | 12 ++++++++ includes/emails/wpum-email-functions.php | 39 ++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/includes/emails/class-wpum-emails.php b/includes/emails/class-wpum-emails.php index 036bc3d4..42140fa5 100644 --- a/includes/emails/class-wpum-emails.php +++ b/includes/emails/class-wpum-emails.php @@ -404,12 +404,24 @@ public function get_tags() { 'tag' => 'login_page_url', 'function' => 'wpum_email_tag_login_page_url', ), + array( + 'name' => esc_html__( 'Login page link', 'wp-user-manager' ), + 'description' => esc_html__( 'Display the login page url.', 'wp-user-manager' ), + 'tag' => 'login_page_link', + 'function' => 'wpum_email_tag_login_page_link', + ), array( 'name' => esc_html__( 'Password recovery url', 'wp-user-manager' ), 'description' => esc_html__( 'Display the password recovery url.', 'wp-user-manager' ), 'tag' => 'recovery_url', 'function' => 'wpum_email_tag_password_recovery_url', ), + array( + 'name' => esc_html__( 'Password recovery link', 'wp-user-manager' ), + 'description' => esc_html__( 'Display the password recovery link.', 'wp-user-manager' ), + 'tag' => 'recovery_link', + 'function' => 'wpum_email_tag_password_recovery_link', + ), ); return apply_filters( 'wpum_email_tags', $email_tags, $this ); diff --git a/includes/emails/wpum-email-functions.php b/includes/emails/wpum-email-functions.php index e9c92fbe..33481d17 100644 --- a/includes/emails/wpum-email-functions.php +++ b/includes/emails/wpum-email-functions.php @@ -124,6 +124,21 @@ function wpum_email_tag_lastname( $user_id ) { return $firstname; } +/** + * Parse the {login_page_link} tag into the email to display the site login page url. + * + * @param string $user_id + * + * @return string + */ +function wpum_email_tag_login_page_link( $user_id = false ) { + + $login_page_url = wpum_get_core_page_id( 'login' ); + $login_page_url = get_permalink( $login_page_url ); + + return $login_page_url; +} + /** * Parse the {login_page_url} tag into the email to display the site login page url. * @@ -156,6 +171,30 @@ function wpum_email_tag_password( $user_id = false, $password_reset_key = false, return $plain_text_password; } +/** + * Parse the {recovery_link} tag into the email to display personalized password recovery url. + * + * @param int $user_id + * @param string $password_reset_key + * @param string $plain_text_password + * @param string $tag + * @param string $email + * + * @return string + */ +function wpum_email_tag_password_recovery_link( $user_id, $password_reset_key, $plain_text_password, $tag, $email ) { + + $reset_page = wpum_get_core_page_id( 'password' ); + $reset_page = get_permalink( $reset_page ); + $reset_page = add_query_arg( array( + 'login' => rawurlencode( $email->user_login ), + 'key' => $password_reset_key, + 'action' => 'wpum-reset', + ), $reset_page ); + + return $reset_page; +} + /** * Parse the {recovery_url} tag into the email to display personalized password recovery url. * From 471ed625505971a1bee390a95e217ae3ae44e3f1 Mon Sep 17 00:00:00 2001 From: Rey C Date: Fri, 7 Nov 2025 17:24:10 +0800 Subject: [PATCH 2/2] Fix: More email merge tags and html in email templates --- includes/emails/wpum-email-functions.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/includes/emails/wpum-email-functions.php b/includes/emails/wpum-email-functions.php index 33481d17..43664fa0 100644 --- a/includes/emails/wpum-email-functions.php +++ b/includes/emails/wpum-email-functions.php @@ -131,7 +131,7 @@ function wpum_email_tag_lastname( $user_id ) { * * @return string */ -function wpum_email_tag_login_page_link( $user_id = false ) { +function wpum_email_tag_login_page_url( $user_id = false ) { $login_page_url = wpum_get_core_page_id( 'login' ); $login_page_url = get_permalink( $login_page_url ); @@ -146,7 +146,7 @@ function wpum_email_tag_login_page_link( $user_id = false ) { * * @return string */ -function wpum_email_tag_login_page_url( $user_id = false ) { +function wpum_email_tag_login_page_link( $user_id = false ) { $login_page_url = wpum_get_core_page_id( 'login' ); $login_page_url = get_permalink( $login_page_url ); @@ -182,7 +182,7 @@ function wpum_email_tag_password( $user_id = false, $password_reset_key = false, * * @return string */ -function wpum_email_tag_password_recovery_link( $user_id, $password_reset_key, $plain_text_password, $tag, $email ) { +function wpum_email_tag_password_recovery_url( $user_id, $password_reset_key, $plain_text_password, $tag, $email ) { $reset_page = wpum_get_core_page_id( 'password' ); $reset_page = get_permalink( $reset_page ); @@ -206,7 +206,7 @@ function wpum_email_tag_password_recovery_link( $user_id, $password_reset_key, $ * * @return string */ -function wpum_email_tag_password_recovery_url( $user_id, $password_reset_key, $plain_text_password, $tag, $email ) { +function wpum_email_tag_password_recovery_link( $user_id, $password_reset_key, $plain_text_password, $tag, $email ) { $reset_page = wpum_get_core_page_id( 'password' ); $reset_page = get_permalink( $reset_page );