wp-login.phpの”ユーザー名またはメールアドレス”をjQueryで書き換える

WordPressへのログインをメールアドレスだけ許可するとか、ユーザー名だけ許可するみたいなことやりたくなることありますよね。 プラグインとかで内部の設定はできるんですが、1つ”wp-login.php& […]

広告ここから
広告ここまで

目次

    WordPressへのログインをメールアドレスだけ許可するとか、ユーザー名だけ許可するみたいなことやりたくなることありますよね。

    プラグインとかで内部の設定はできるんですが、1つ”wp-login.php”という厄介なやつがいたりします。

    ソース見るとわかるんですが、wp-login.phpの「”ユーザー名またはメールアドレス”というテキストを書き換えるためのフィルター」って存在しないんですね。

    <p>
    	<label for="user_login" ><?php _e('Username or Email') ?><br />
    	<input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr($user_login); ?>" size="20" /></label>
    </p>
    

    from:https://github.com/WordPress/WordPress/blob/master/wp-login.php#L544

    ということでjQueryで書き換えます。

    置換するjQuery

    login.js

    (function($){
    	var usernameLabel = $('#loginform label[for=user_login]');
    
    	if ( usernameLabel[0] ) {
    		var usernameLabelHtml = usernameLabel.html();
    
    		//日本語
    		var replacedUsernameLabelHtml = usernameLabelHtml.replace(/ユーザー名またはメールアドレス/g, 'メールアドレス');
    
    		//英語
    		replacedUsernameLabelHtml = replacedUsernameLabelHtml.replace(/Username or Email/g, 'Email');
    		usernameLabel.html(replacedUsernameLabelHtml);
    	}
    });
    

    JSファイルを読込する

    functions.php

    add_action( 'login_enqueue_scripts', function(){
    	wp_enqueue_script( 'custome-login', '{PATH_TO_JS_FILE}/login.js', array('jquery'), '{PATH_TO_JS_FILE}/login.js' , true );
    } );
    

    スマートな感じはしないですが、まぁとりあえず動きます。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark