Permitir inicio de sesión de administrador en / admin

4

Estoy interesado en:

  1. ¿Cómo podemos cambiar la URL de inicio de sesión predeterminada /wp-admin a /login ?
  2. ¿Cómo podemos agregar otra url para iniciar sesión para que funcionen tanto /wp-admin como /login ?

Intenté usar un filtro personalizado y .htaccess como en el siguiente ejemplo, pero sin éxito.

functions.php

add_filter('admin_url', 'my_new_admin_url');

function my_new_admin_url()
{
    return '/login/';
}

.htaccess

Redirect permanent /wp-admin/ /login/
    
pregunta thedev 23.05.2012 - 18:22

2 respuestas

4

otra opción: redirige /admin/ a wp-login.php con un gancho de acción parse_query :

function wpa53048_parse_query( $query ){
    if( $query->query_vars['pagename'] == 'admin' ):
        wp_redirect( wp_login_url() );
        exit;
    endif;
}
add_action( 'parse_query', 'wpa53048_parse_query' );

EDIT

Bueno, lo anterior aparentemente solo funciona con ciertas estructuras de enlace permanente. Aquí hay otro método conectado a parse_request :

function wpa53048_parse_request( $query ){
    if( $query->request == 'admin' ):
        wp_redirect( wp_login_url() );
        exit;
    endif;
}
add_action( 'parse_request', 'wpa53048_parse_request' );
    
respondido por el Milo 23.05.2012 - 19:50
1

Solo uso esto en la parte superior de mi archivo .htaccess:
RewriteRule ^login/?$ /wp-login.php [NC,L]

o lo siguiente, el caso de WordPress reside en una carpeta, y la regla se refiere a la raíz:
RewriteRule ^login/?$ /wp/wp-login.php [NC,L]

He visto [QSA, L] en lugar de [NC, L], pero no sé la diferencia ...

Referencia: enlace

    
respondido por el brasofilo 23.05.2012 - 19:37

Lea otras preguntas en las etiquetas