WooCommerce登録フォームの最小パスワード強度を変更しようとしていますが、多くのことができません。
パスワードの最小強度を修正し、ユーザーが7文字の長さで、内部に記号や大文字を必要としないパスワードを使用できるようにするソリューションを誰かに教えてもらえますか?
ありがとう。
そのための唯一の既存のフック設定はwoocommerce_min_password_strength
フィルターフック。したがって、カスタムフック関数を設定してこの強度を下げることができます。 4つの可能な設定があります:
3
=>強い(デフォルト)2
=>中1
=>弱い0
=>非常に弱い(何でも)。そのコードは次のとおりです。
add_filter( 'woocommerce_min_password_strength', 'reduce_min_strength_password_requirement' );
function reduce_min_strength_password_requirement( $strength ) {
// 3 => Strong (default) | 2 => Medium | 1 => Weak | 0 => Very Weak (anything).
return 2;
}
コードは、アクティブな子テーマ(またはテーマ)のfunction.phpファイル、または任意のプラグインファイルに含まれます。
このコードはテストされ、機能します。
他のすべてのソリューションは複雑で、実際の開発になります。
上記の回答 by @LoicTheAztecは完全に機能し、非常に明確です。コメントに追加の提案やコードを入れるのが正しいかどうかわからないため、この回答を追加します(適切なStackOverflowプロトコルに従わない場合は申し訳ありませんが、その場合は誰かに知らせてください!)。
とにかく、パスワードの強度要件を変更した後でも、12文字などを要求する非常に厳格で役に立たないパスワードのヒントが表示されていたので、それを変更する方法を探しました。これが私が実行している2つの関数であり、それらは期待どおりに機能しています。
パスワードヒント関数については、 arjenlentz に感謝します。
// First, change the required password strength
add_filter( 'woocommerce_min_password_strength', 'reduce_min_strength_password_requirement' );
function reduce_min_strength_password_requirement( $strength ) {
// 3 => Strong (default) | 2 => Medium | 1 => Weak | 0 => Very Weak (anything).
return 2;
}
// Second, change the wording of the password hint.
add_filter( 'password_hint', 'smarter_password_hint' );
function smarter_password_hint ( $hint ) {
$hint = 'Hint: longer is stronger, and consider using a sequence of random words (ideally non-English).';
return $hint;
}
参考までに、そのコードはパスワード要件を下げるために私には機能しませんでした。私は他のいくつかのコードを試しましたが、役に立ちませんでした。以下のコードを使用して、パスワード要件チェックを削除することにしました。
function iconic_remove_password_strength() {
wp_dequeue_script( 'wc-password-strength-meter' );
}
add_action( 'wp_print_scripts', 'iconic_remove_password_strength', 10 );
ここから取得: https://iconicwp.com/blog/disable-password-strength-meter-woocommerce/
ここに良い説明があります: https://www.gm2dev.com/2017/06/woocommerce-custom-password-strength/
上記のコードスニペットをテーマ関数に追加します。
私自身は、@ grantogが言ったようにパスワード強度メーターを削除する必要がありました。
function iconic_remove_password_strength() {
wp_dequeue_script( 'wc-password-strength-meter' );
}
add_action( 'wp_print_scripts', 'iconic_remove_password_strength', 10 );