Existe uma maneira de impedir que os visitantes, logados ou não, cheguem mysite.com/wp-login.php
?
Eu tenho um formulário de login separado, que é tudo o que precisamos. Eu sei que posso mudar o estilo do formulário gerado por, wp-login
mas prefiro não precisar lidar com isso. Eu tentei vários filtros e ganchos e não consigo redirecioná-lo. Também tentei usar um .htaccess
redirecionamento e descobri que isso funciona, mas impede que meu formulário de logon / logout personalizado funcione.
Ideias?
wp-login-form
jchwebdev
fonte
fonte
Respostas:
Depois de encontrar essa pergunta e testar algumas das respostas, a seguir está uma versão "limpa" do que estou usando em um ambiente de produção.
Esta versão não lança nenhum aviso / erro e também permite que as redefinições de senha funcionem:
fonte
echo "HERE";
dentro da função? Isso ecoa?$_GET['action']
está vazio para mim. O formulário é postado em/wp-login.php
(sem nenhuma variável GET na URL) e, olhando para a fonte, não há nem um put chamadoaction
, então$_REQUEST['action']
está vazio.Tente isso nas funções do seu tema.php
fonte
Adicione uma var GET para a ação de logout e ela funcionará bem.
fonte
Estou usando o plug - in do WordPress Renomear wp-login.php há algum tempo.
Permite alternar
wp-login.php
para qualquer outro caminho. Eu estava tendo bots batendo minhas páginas de login e agora recebo zero acertos.fonte
O WP-login lida com login, logout, registro, redefinição e recuperação de senha. Supondo que você queira alterar a página de login do front-end. Você pode usar com segurança o seguinte código:
Este trecho de código:
fonte
home_url()
já adiciona uma barra principal, portanto não há necessidade disso. Também$pagenow
é (a) um global que está presente apenas em admin (e talvez no logon) e (b) deve ser substituído porget_current_screen()
verificações de propriedade.Isso irá redirecionar para / login em vez do formulário desagradável de wp-login.
fonte
Se sua intenção é proteger
wp-login.php
contra estranhos, mesmo que seja capaz de vê-lo, a maneira mais simples e eficiente de fazer isso é exigir autorização (autenticação básica) para acessarwp-login.php
.No Apache, a autenticação é implementada através de uma combinação de htaccess e um arquivo de senha . Na primeira vez, em uma sessão do navegador, que alguém tentar acessar
wp-login.php
, será solicitado que você digite um nome de usuário e senha (antes do login no wordpress).Para simplificar, esse nome de usuário e senha podem ser os mesmos para todas as pessoas às quais você deseja acessar
wp-login.php
, pois elas ainda precisam inserir seu login no wordpress após passarem pela primeira caixa de diálogo de autenticação.fonte
Substitua
$pageid
pela página para a qual você deseja que os usuários sejam redirecionadosfonte
Exemplo da minha página de login personalizada. Salvando login.php e colocar código
no
functions.php
fonte