Wordpress

WordPressでログインを強制的に失敗させ、シェイク(ふるふる)させたい

【問題】
WordPressでログインを強制的に失敗させ、シェイク(ふるふる)させたい

【解決方法】

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にコピーします。

また、ログインを失敗させただけではフォームはシェイクしませんので、シェイクを呼び出すエラーコードを追加します。