¿Hay alguna manera de evitar que los visitantes, ya sea que hayan iniciado sesión o no, lleguen mysite.com/wp-login.php
?
Tengo un formulario de inicio de sesión separado que es todo lo que necesitamos. Sé que puedo cambiar el estilo del formulario generado, wp-login
pero prefiero no tener que lidiar con eso en absoluto. He probado varios filtros y ganchos y parece que no puedo redirigirlo. También intenté usar una .htaccess
redirección y descubrí que esto funciona, pero luego evita que mi formulario de inicio / cierre de sesión personalizado funcione.
Ideas?
wp-login-form
jchwebdev
fuente
fuente
Respuestas:
Después de encontrar esta pregunta y probar algunas de las respuestas, la siguiente es una versión "limpia" de lo que estoy usando en un entorno de producción.
Esta versión no arroja ningún aviso / error, y también permite que los restablecimientos de contraseña funcionen:
fuente
echo "HERE";
dentro de la función? ¿Hace eco?$_GET['action']
está vacío para mí. El formulario se publica en/wp-login.php
(sin ninguna variable GET en la URL) y mirando la fuente no hay ni siquiera un nombre de entradaaction
, por lo que incluso$_REQUEST['action']
está vacío.Prueba esto en las funciones de tu tema.php
fuente
Agregue un GET var para la acción de cierre de sesión y funciona bien.
fuente
He estado usando el complemento de WordPress Rename wp-login.php durante bastante tiempo.
Te permite cambiar
wp-login.php
a cualquier otra ruta. Estaba haciendo que los bots cerraran mis páginas de inicio de sesión, y ahora recibo cero visitas.fuente
WP-login maneja inicio de sesión, cierre de sesión, registro, restablecimiento de contraseña y recuperación. Suponiendo que desea cambiar la página de inicio de sesión front-end. Puede usar con seguridad el siguiente código:
Este fragmento de código:
fuente
home_url()
ya agrega una barra diagonal, así que no hay necesidad de eso. También$pagenow
es (a) un global que solo está presente en el administrador (y tal vez el inicio de sesión) y (b) deben reemplazarse conget_current_screen()
verificaciones de propiedad.Esto redirigirá a / login en lugar del desagradable formulario wp-login.
fuente
Si su intención es protegerse
wp-login.php
de que los extraños incluso puedan verlo, la forma más simple y eficiente de hacerlo es solicitar autorización (autenticación básica) para accederwp-login.php
.En Apache, la autenticación se implementa mediante una combinación de htaccess y un archivo de contraseña . La primera vez, dentro de una sesión del navegador, que alguien intente acceder,
wp-login.php
se le pedirá que ingrese un nombre de usuario y una contraseña (antes del inicio de sesión de WordPress).Para simplificar las cosas, este nombre de usuario y contraseña pueden ser los mismos para todas las personas a las que desea dar acceso
wp-login.php
, ya que aún tienen que ingresar su inicio de sesión de WordPress después de pasar con éxito el primer cuadro de diálogo de autenticación.fuente
Reemplace
$pageid
con la página a la que desea que los usuarios sean redirigidosfuente
Ejemplo de mi página de inicio de sesión personalizada. Guardar login.php y poner código
en
functions.php
fuente