WordPress.org

Shona

  • Themes
  • Plugins
  • About
  • Contact
  • Get WordPress
Get WordPress
WordPress.org

Plugin Directory

Magic Login Mail or QR Code

  • Submit a plugin
  • My favorites
  • Log in
  • Submit a plugin
  • My favorites
  • Log in

Magic Login Mail or QR Code

By Katsushi Kawamori
Download
  • Details
  • Reviews
  • Installation
  • Development
Support

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 );

Screenshots

  • Login form by shortcode
  • Login form
  • Login success
  • Email with magic link
  • Login error with no user
  • Login error with expired token
  • Log in with QR Code

Installation

  1. Upload magic-login-mail directory to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress

FAQ

none

Reviews

Great and easy!

mitbewunderer January 26, 2023
Easy to install and work perfect!

5.9.1 compatible passwordless login

skillsharejp March 5, 2022
This is a fork of Passwordless Login which stopped its development which is compatible with latest WP versions including 5.9.1. Thank you so much for maintaining!!
Read all 2 reviews

Contributors & Developers

“Magic Login Mail or QR Code” is open source software. The following people have contributed to this plugin.

Contributors
  • Katsushi Kawamori

“Magic Login Mail or QR Code” has been translated into 4 locales. Thank you to the translators for their contributions.

Translate “Magic Login Mail or QR Code” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

[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.

Meta

  • Version 2.05
  • Last updated 2 weeks ago
  • Active installations 200+
  • WordPress version 4.7 or higher
  • Tested up to 6.8.1
  • PHP version 8.0 or higher
  • Languages

    Chinese (Taiwan), Dutch, Dutch (Belgium), English (US), and Japanese.

    Translate into your language

  • Tags
    emailloginpasswordlessusers
  • Advanced View

Ratings

5 out of 5 stars.
  • 2 5-star reviews 5 stars 2
  • 0 4-star reviews 4 stars 0
  • 0 3-star reviews 3 stars 0
  • 0 2-star reviews 2 stars 0
  • 0 1-star reviews 1 star 0

Add my review

See all reviews

Contributors

  • Katsushi Kawamori

Support

Got something to say? Need help?

View support forum

Donate

Would you like to support the advancement of this plugin?

Donate to this plugin

  • About
  • News
  • Hosting
  • Privacy
  • Showcase
  • Themes
  • Plugins
  • Patterns
  • Learn
  • Support
  • Developers
  • WordPress.tv ↗
  • Get Involved
  • Events
  • Donate ↗
  • Five for the Future
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

Shona

  • Visit our Facebook page
  • Visit our X (formerly Twitter) account
  • Visit our Mastodon account
  • Visit our Instagram account
  • Visit our LinkedIn account
  • Visit our YouTube channel
Code is Poetry.