web-dev-qa-db-fra.com

Changer l'URL du tableau de bord

Comment puis-je changer le lien vers le tableau de bord de mon installation WordPress dewww.mysite.com/wp-adminàwww.mysite.com/custom-namesans faire appel à un plugin tiers?

Je sais déjà que changer le nom du dossierwp-adminn’aidera pas.

1
Unnikrishnan R

Sans plugin:

1. Ajouter une constante à 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. Ajouter le filtre ci-dessous à 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. Ajouter la ligne ci-dessous au fichier .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]

Vous pouvez aussi rediriger en utilisant cette fonction

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' );
                }
        }
    }

Voici un bon plugin gratuit Protégez votre administrateur

NOTE: Sauvegardez votre base de données avant de commencer le plugin activate. Il est extrêmement important de sauvegarder votre base de données avant de commencer le plugin activate.

3
Firefog