Description
Enter your email address, and send you an email with a magic link or QR Code to login without a password.
Login
- Login with email address only.
- Only registered users can login.
- Password-less login from the magic link or QR code notified in the email.
- shortcode :
[magic_login]
- action hook :
do_action( 'magic_email_send', $emails | array, true | bool )
: To send the magic link simultaneously from the management account. - QR code login on the user’s administration screen.
Thanks
- This plugin is a modified version of Passwordless Login.
- The main changes are the addition of various filter hooks and the addition of the following action hooks.
Action hook
- This is for sending bulk e-mails with a magic link for login to multiple accounts from the management screen.
- When using this action hook, the URL of the page where the shortcode [magic_login] is placed should be specified in the filter hook ‘magic_login_mail_url’.
/** ==================================================
* To send the magic link simultaneously from the management account.
*
* @param array $emails Multiple email addresses.
* @param bool true Output notifications to the management screen immediately after sending.
*/
do_action( 'magic_email_send', $emails, true );
Filter hooks
/** ==================================================
* Filter for magic link url with mail.
*
*/
add_filter( 'magic_login_mail_url', function(){ return 'url'; }, 10, 1 );
/** ==================================================
* Currently logged in user link for Magic Login Mail
*
* @param string $url URL.
* @param int $user_id User ID.
* @return $url
*/
add_filter( 'magic_login_mail_user_redirect', 'redirect_url_login_users', 10, 2 );
/** ==================================================
* Login user after redirect for Magic Login Mail
*
* @param string $url URL.
* @param int $user_id User ID.
* @return $url
*/
add_filter( 'magic_login_mail_after_login_redirect', 'redirect_url_login_users', 10, 2 );
function redirect_url_login_users( $url, $user_id ){
/* your code */
return $url;
}
/** ==================================================
* Filter for message with shortcode form.
*
*/
add_filter( 'magic_login_mail_success_link_msg', function(){ return 'Message for success.'; }, 10, 1 );
add_filter( 'magic_login_mail_success_login_msg', function(){ return 'Message for success with login.'; }, 10, 1 );
add_filter( 'magic_login_mail_valid_errors', function(){ return 'Message for mail validation error.'; }, 10, 1 );
add_filter( 'magic_login_mail_email_errors', function(){ return 'Message for sent mail error.'; }, 10, 1 );
add_filter( 'magic_login_mail_invalid_token_error', function(){ return 'Message for token error.'; }, 10, 1 );
add_filter( 'magic_login_mail_form_label', function(){ return 'Message for form label.'; }, 10, 1 );
/** ==================================================
* Filter for color with shortcode form.
*
*/
add_filter( 'magic_login_mail_success_link_msg_back_color', function(){ return '#e7f7d3'; }, 10, 1 );
add_filter( 'magic_login_mail_success_login_msg_back_color', function(){ return '#e7f7d3'; }, 10, 1 );
add_filter( 'magic_login_mail_valid_errors_back_color', function(){ return '#ffebe8'; }, 10, 1 );
add_filter( 'magic_login_mail_email_errors_back_color', function(){ return '#ffebe8'; }, 10, 1 );
add_filter( 'magic_login_mail_invalid_token_error_back_color', function(){ return '#ffebe8'; }, 10, 1 );
/** ==================================================
* Filter for input text size.
*
*/
add_filter( 'magic_login_mail_input_size', function(){ return 17; }, 10, 1 );
/** ==================================================
* Filter for class name.
*
*/
add_filter( 'magic_login_mail_notice_class_name', function(){ return 'mynotice'; }, 10, 1 );
add_filter( 'magic_login_mail_form_class_name', function(){ return 'myform'; }, 10, 1 );
add_filter( 'magic_login_mail_label_class_name', function(){ return 'mylabel'; }, 10, 1 );
add_filter( 'magic_login_mail_input_class_name', function(){ return 'myinput'; }, 10, 1 );
add_filter( 'magic_login_mail_submit_class_name', function(){ return 'mysubmit'; }, 10, 1 );
/** ==================================================
* Filter for message with mail subject.
*
*/
add_filter( 'magic_login_mail_subject', function(){ return 'subject'; }, 10, 1 );
/** ==================================================
* Filter for message with mail.
*
* @param string $message message.
* @param string $url url.
* @param string $exp_date_time expiration date and time.
*/
add_filter(
'magic_login_mail_message',
function( $message, $url, $exp_date_time ) {
$message .= '<br><br>' . 'You may only log in once using the link above.';
return $message;
},
10,
3
);
/** ==================================================
* Filter for login expiration.
*
*/
add_filter( 'magic_login_mail_expiration', function(){ return 10; }, 10, 1 );
Captures d’écran
Installation
- Upload
magic-login-mail
directory to the/wp-content/plugins/
directory - Activate the plugin through the ‘Plugins’ menu in WordPress
FAQ
none
Avis
Contributeurs & développeurs
« Magic Login Mail or QR Code » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.
Contributeurs“Magic Login Mail or QR Code” a été traduit dans 4 locales. Remerciez l’équipe de traduction pour ses contributions.
Traduisez « Magic Login Mail or QR Code » dans votre langue.
Le développement vous intéresse ?
Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.
Historique des changements
[2.05] 2025/04/26
- Fix – CSS.
[2.04] 2025/04/25
- Added – Add own CSS for shortcode output.
[2.03] 2025/04/14
- Fix – Loading the management screen.
[2.02] 2024/11/05
- Changed – Plugin name changed from « Magic Login Mail » to « Magic Login Mail or QR Code ».
[2.01] 2024/11/05
- Added – QR code for login is now output on the user’s administration screen.
[2.00] 2024/10/08
- Added – QR codes containing magic links are now sent.
[1.07] 2024/09/20
- Added – parameter addition of filter(‘magic_login_mail_message’).
[1.06] 2024/03/04
- Fix – Elimination of short code attribute values.
1.05
Supported WordPress 6.4.
PHP 8.0 is now required.
1.04
Added class name filter(‘magic_login_mail_form_class_name’) for login form.
Added « placeholder » and « required » attributes to the email input form.
1.03
Added an option to save sent emails.
1.02
Changed input size.
1.01
Supported GlotPress.
1.00
Initial release.