外掛說明
使用者輸入電子郵件地址,系統便會傳送給使用者一封包含不需密碼即可登入的特殊連結或 QR 圖碼的電子郵件。
登入方式
- 僅能使用電子郵件地址登入。
- 僅有已註冊的使用者能夠登入。
- 透過通知電子郵件中的登入連結或 QR 圖碼進行無密碼登入。
- 短代碼:
[magic_login]
。 - 動作勾點
do_action( 'magic_email_send', $emails | array, true | bool )
:使用具備管理權限的帳號批次傳送登入連結。 - 在使用者管理頁面的 QR 圖碼登入。
誠摯感謝
- 這個外掛是 Passwordless Login 的分支修改版本。
- 主要的變更是增加多個篩選器勾點及下列動作勾點。
動作勾點
- 這是在管理頁面用來批次傳送內含登入至多個帳號的登入連結的電子郵件的勾點。
- 使用這個動作勾點時,應該在篩選器勾點 magic_login_mail_url 中指定放置短代碼 [magic_login] 的頁面的網址。
/** ==================================================
* 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 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_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 );
螢幕擷圖
安裝方式
- 將外掛安裝套件 ZIP 壓縮檔解壓縮所得的
magic-login-mail
資料夾上傳至/wp-content/plugins/
目錄。 - 在 WordPress 管理後台的 [外掛] 選單中啟用外掛。
常見問題集
目前尚無
使用者評論
2023 年 1 月 26 日
Easy to install and work perfect!
2022 年 3 月 5 日
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!!
參與者及開發者
變更記錄
[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.