こんにちは
user_profile_update_errors フックを使用するはどうでどうでしょう?
例:
add_action( 'user_profile_update_errors', function( $errors, $update, $user ) {
if ( preg_match( '/[^\x20-\x7e]/', $user->user_pass ) ) {
$errors->add( 'pass', '<strong>Error</strong>: パスワードに不正な文字が含まれています。', array( 'form-field' => 'pass1' ) );
}
}, 10, 3 );
@ishitaka 様
ありがとうございます。
毎回助かっております。
ご提示いただいたコードで、プロフィールページのパスワードには対応できました。
感謝申し上げます。
一点すみません、
wp-login.phpのパスワードリセットページのパスワードフォームも同様の処理をしたく、
フックを探して以下をfunctions.phpに追加してみたのですがうまくいきません。
フック先が間違っているのか、書き方が間違っているのか、
何度も申し訳ありませんが、ご教授いただけないでしょうか。
add_action( 'validate_password_reset', function( $errors, $user ) {
if ( preg_match( '/[^\x20-\x7e]/', $user->user_pass ) ) {
$errors->add( 'pass', '<strong>Error</strong>: パスワードに不正な文字が含まれています。', array( 'form-field' => 'pass1' ) );
}
}, 10, 3 );
こんな感じでしょうか?
add_filter( 'validate_password_reset', function( $errors, $user ){
if ( isset( $_POST['pass1'] ) ) {
if ( preg_match( '/[^\x20-\x7e]/', $_POST['pass1'] ) ) {
$errors->add( 'pass', '<strong>Error</strong>: パスワードに不正な文字が含まれています。', array( 'form-field' => 'pass1' ) );
}
}
}, 10, 2 );
@ishitaka 様
ありがとうございます。
こちらのコードで理想の状態になりました。
重ね重ねお礼申し上げます。