I have the user registration set up so that it sends an email to the user to ask them to set up a password.
This uses the format [frm-set-password-link user_id="[124 show=ID]"]
Which produces a link in the format
https://url.org.uk/wp-login.php?action=rp&key={key}&login={username}
Our site is in 4 languages, but this this links only to the English language version of the page and doesn't get translated.
If I click the reset password link on the login page the link is in the format:
https://url.org.uk/de/wp-login.php?login={username}&key={key}&action=rp&wp_lang=de_DE
This gets translated correctly (even without the language variables).
What I would like to know is if there is a way I can trigger this second format so the reset password page is in the correct language for the user?
In the email notification, you can use a custom shortcode to construct the URL however you want, basically enhancing what you get from [frm-set-password-link]. In fact, in the shortcode you can call frm-set-password-link and add the language parameter into its return value. This assumes that, given the user ID, you can decipher what their language code should be.
Hi Rob, thanks very much for getting back to me. There is a field in the form that would allow me to know what language value to set, so I could use conditional logic to send different emails to people using different languages.
I was thinking that I needed to add in the /de/ early in the URL as well as the language variable at the end. I was also confused by the different order from the formidable forms link and the link I got when clicking the 'forgot password' link. I've just tested with the /de/ removed and it works, so I think I can construct the link to add the language variable. Thanks for the pointer! I'll try it out and come back to you if I need more help.
Please login or Register to submit your answer