0

ワードプレス初心者で勉強中です。 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にあります)。

4

1 に答える 1

0

私のためにすべてを行うプラグインを見つけました:「WordPress Special Characters in Usernames」 http://wordpress.org/extend/plugins/wordpress-special-characters-in-usernames/

于 2013-01-24T13:04:37.793 に答える