【問題】
WordPressでログインを強制的に失敗させ、シェイク(ふるふる)させたい
【解決方法】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
function force_fail_to_login(){ add_filter( 'authenticate', 'add_custom_error_code', 40, 1 ); } add_action( 'wp_authenticate', 'force_fail_to_login', 5, 1 ); function add_custom_error_code(){ // エラーコードとエラーメッセージを設定 return new WP_Error( 'err_force_fail_to_login', '強制的にログインを失敗させました' ); } // シェイクを発生させるエラーコードを追加 function add_shake_error_code( $shake_error_codes ){ $shake_error_codes[] = 'err_force_fail_to_login'; return $shake_error_codes; } add_filter( 'shake_error_codes', 'add_shake_error_code', 10, 1 ); |
【備考】
独自のログイン条件を追加しログインを失敗させた後、フォームをシェイクさせたい場合、上記のコードをテーマ内のfunctions.phpにコピーします。
また、ログインを失敗させただけではフォームはシェイクしませんので、シェイクを呼び出すエラーコードを追加します。