WordPressのログインURLをプラグインなしで変更する方法として、functions.phpを編集する方法があります。以下に手順を解説します。
注意: functions.phpの編集は、サイトの動作に影響を及ぼす可能性があります。必ずバックアップを取ってから作業を行ってください。
functions.phpの編集
- テーマエディターにアクセス:
- WordPress管理画面の左メニューから「外観」→「テーマエディター」を選択します。
- 右上の「テーマの選択」から使用中のテーマ(子テーマを使用している場合は子テーマ)を選びます。
functions.phpを開く:- 右側の「テーマファイル」一覧からfunctions.phpをクリックして開きます。
- コードを追記:
- 以下のコードをfunctions.phpの末尾に追加します。
// カスタムログインページの定義
define('LOGIN_CHANGE_PAGE', '新しいログインファイル名.php');
// 403エラーを返す関数
if (!function_exists('wp_login_url_403_error')) {
function wp_login_url_403_error() {
// LOGIN_CHANGEを定義し、これが正しい場合403エラーは回避
if (!defined('LOGIN_CHANGE') || sha1('任意のキーワード') != LOGIN_CHANGE) {
status_header(403);
exit;
}
}
}
add_action('login_init', 'wp_login_url_403_error');
// サイトURLを新しいログインURLに変更
if (!function_exists('wp_login_change_site_url')) {
function wp_login_change_site_url($url, $path, $orig_scheme, $blog_id) {
if ((strpos($path, 'wp-login.php') !== false) &&
(is_user_logged_in() || strpos($_SERVER['REQUEST_URI'], LOGIN_CHANGE_PAGE) !== false)) {
$url = str_replace('wp-login.php', LOGIN_CHANGE_PAGE, $url);
}
return $url;
}
}
add_filter('site_url', 'wp_login_change_site_url', 10, 4);
// ログアウト時のリダイレクトURLを変更
if (!function_exists('wp_logout_redirect_setting')) {
function wp_logout_redirect_setting($location, $status) {
if (strpos($_SERVER['REQUEST_URI'], LOGIN_CHANGE_PAGE) !== false) {
$location = str_replace('wp-login.php', LOGIN_CHANGE_PAGE, $location);
}
return $location;
}
}
add_filter('wp_redirect', 'wp_logout_redirect_setting', 10, 2);PHP- 保存:
'新しいログインファイル名.php'には、新しく作成するログインファイルの名前を入力します。- 例: ‘custom-login.php”任意のキーワード’には、推測されにくいランダムな文字列を入力します。
- 編集が完了したら、ファイルを保存します。
新しいログインファイルの作成
- 新規ファイルの作成:
- wp-login.phpと同じディレクトリ(通常はWordPressのルートディレクトリ)に、新しいログインファイル(例: custom-login.php)を作成します。
- コードを記述:
- 新しいログインファイルに以下のコードを記述します。
<?php
define('LOGIN_CHANGE', sha1('任意のキーワード'));
require_once './wp-login.php';
?>PHP- 作成したファイルをサーバーにアップロードします。
動作確認
- 新しいログインURLにアクセス:
- ブラウザでhttps://あなたのドメイン/新しいログインファイル名.phpにアクセスし、ログイン画面が表示されることを確認します。
- 旧ログインURLの確認:
- https://あなたのドメイン/wp-login.phpにアクセスし、403エラーが表示されることを確認します。
以上の手順で、プラグインを使用せずにWordPressのログインURLを変更することができます。


コメント