Magic Login Mail or QR Code
·
使用者輸入電子郵件地址,系統便會傳送給使用者一封包含不需密碼即可登入的特殊連結或 QR 圖碼的電子郵件。
評價
5/5
版本
2.05
活躍安裝總數
100
最近更新:
Nov 25, 2025
使用者輸入電子郵件地址,系統便會傳送給使用者一封包含不需密碼即可登入的特殊連結或 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_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 );