ワードプレス初心者で勉強中です。 validate_username または sanitize_user 関数をフックする方法は?
私はそれらをまったく呼び出したくありません。特定のプラグイン用に変更したいのです。
ここに全文があります: 私の問題は、既存の WP 関数を変更せずに正しく変更する方法がわからないことです (いくつかのフックなど)。
次の問題があります。
- 登録フォームを表示するプラグイン theme-my-login があります
- register_new_user (新しいユーザーの登録を処理します) があります -> wp 標準関数ではありませんが、プラグインで記述されています
この関数は、WP 標準の validate_username を呼び出します。
function register_new_user( $user_login, $user_email,$term, $country ) { $errors = new WP_Error(); $sanitized_user_login = sanitize_user( $user_login ); $user_email = apply_filters( 'user_registration_email', $user_email ); // Check the username if ( $sanitized_user_login == '' ) { $errors->add( 'empty_username', __( '<strong> ط®ط·ط£ </strong>...', 'theme-my-login' ) ); } elseif ( !**validate_username**( $user_login ) ) { //HERE WE CALL WP VALIDATE_ $errors->add( 'invalid_username', __( '<strong> ط®ط·ط£ </strong>:
....
したがって、ここでの問題は、*validate_username* がユーザー名をアラビア語にすることを許可していないことです。しかし、これはクライアントが望んでいることです。したがって、既存のWP validate_usernameまたはsanitize_userを上書きするか、何らかの方法で変更する必要があると思います(どちらもwp-includes/user.phpにあります)。