サードパーティ製のプラグインを使用せずに、自分のWordPressインストールのダッシュボードへのリンクをwww.mysite.com/wp-admin
からwww.mysite.com/custom-name
に変更するにはどうすればよいですか?
wp-admin
フォルダー名を変更するだけでは役に立たないことはすでにわかっています。
プラグインなし:
1. wp-config.phpに定数を追加します
define('WP_ADMIN_DIR', 'admin-area');
define('SITECOOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('siteurl') . '/' ) );
define('ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);
2. functionsに以下のフィルタを追加します。php
add_filter('site_url', 'wpadmin_filter', 10, 3);
function wpadmin_filter( $url, $path, $orig_scheme ) {
$old = array( "/(wp-admin)/");
$admin_dir = WP_ADMIN_DIR;
$new = array($admin_dir);
return preg_replace( $old, $new, $url, 1);
}
3. .htaccessファイルに以下の行を追加します
RewriteRule ^admin-area/(.*) wp-admin/$1?%{QUERY_STRING} [L]
RewriteRule ^admin-area/?$ /wp-login.php [QSA,L]
RewriteRule ^admin-area/register/?$ /wp-login.php?action=register [QSA,L]
RewriteRule ^admin-area/lostpassword/?$ /wp-login.php?action=lostpassword [QSA,L]
この関数を使ってリダイレクトすることもできます
add_action('login_form','redirect_wp_admin');
function redirect_wp_admin(){
$redirect_to = $_SERVER['REQUEST_URI'];
if(count($_REQUEST)> 0 && array_key_exists('redirect_to', $_REQUEST)){
$redirect_to = $_REQUEST['redirect_to'];
$check_wp_admin = stristr($redirect_to, 'wp-admin');
if($check_wp_admin){
wp_safe_redirect( '404.php' );
}
}
}
これは良い無料のプラグインです あなたの管理者を保護する
注: activateプラグインを起動する前にデータベースをバックアップしてください。 activateプラグインを開始する前にデータベースをバックアップすることが非常に重要です。