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 ); } );
スマートな感じはしないですが、まぁとりあえず動きます。