Desativar o front end para usar somente como CMS?

11

Estou usando o banco de dados e back-end do WordPress para administrar as notícias do site da minha banda e tudo está funcionando muito bem, mas gostaria de desativar o front-end do próprio WordPress.

Eu tenho a instalação do WordPress instalada em /wordpress/ e, obviamente, a seção de administração está em /wordpress/wp-admin/ .

Qual seria a melhor maneira de impedir que alguém acessasse o próprio site * un * configurado do WordPress sem afetar a seção administrativa?

Se qualquer coisa, eu poderia simplesmente redirecionar para a página inicial do site ( domain.com/ ).

    
por Nick Bedford 23.05.2011 / 07:39

5 respostas

12

Para garantir que apenas o front end redirecione para domain.com , crie um tema que use a função PHP header ().

  • Crie uma pasta chamada redirecionada ou alguma coisa.
  • Adicione dois arquivos ao pasta: style.css e index.php (necessário para um tema WP válido)
  • Em style.css , adicione algo como isso:

    / *
    Nome do Tema: Redirecionar
    Descrição: Redireciona o front end para domain.com
    * /

  • Em index.php adicione isto:

    cabeçalho ("Localização: enlace ");

  • Carregue a pasta no diretório de temas e, em seguida, ative-a na interface do administrador.
por Corey McKrill 23.05.2011 / 09:16
6

Use um tema com "dados vazios". Coloque dois arquivos no diretório e ative o "tema".

style.css

/*
Theme Name: turn off frontend
Theme URI: 
Description: 
Author: 
Version: 
License: GNU 
License URI: 
Tags:
*/

e index.php

<?php
exit;
    
por Marcin 23.05.2011 / 08:58
1

adicione isto ao .htaccess no seu diretório raiz

redirect 301 /wordpress http://www.domain.com

EDIT: Isso é realmente apenas uma solução rápida, pode haver soluções melhores. Outra maneira seria adicionar uma função ao seu arquivo functions.php, que é então chamado em wp_head () para redirecionar dessa maneira. Usando esse método, você também pode se permitir visualizá-lo com uma simples verificação de IP.

    
por supajb 23.05.2011 / 07:47
1

Coloque isso no seu .htaccess e liste os caminhos que você deseja manter disponíveis:

RewriteCond %{REQUEST_URI} !^/wp-admin
RewriteCond %{REQUEST_URI} !^/wp-includes
RewriteCond %{REQUEST_URI} !^/wp-login
RewriteCond %{REQUEST_URI} !^/wp-content/uploads
RewriteCond %{REQUEST_URI} !^/wp-content/plugins
RewriteCond %{REQUEST_URI} !^/wp-content/cache
RewriteRule (.*) http://yournewdomain.com/ [R=301,L]
    
por Ben Rogmans 27.09.2013 / 11:49
1

Embora essa seja uma pergunta bastante antiga com uma resposta já aceita, alguém pode achar isso útil, especialmente porque nenhuma dessas soluções funcionou para mim.

function redirect_to_backend() {
    if( !is_admin() ) {
        wp_redirect( site_url('wp-admin') );
        exit();
    }
}
add_action( 'init', 'redirect_to_backend' );

O código em si é bastante explicativo:

  • execute a verificação no gancho 'init'
  • verifique se a página que estamos carregando é front end (não wp-admin)
  • redirecionar para o backend (wp-admin)

Basta colocar o código em qualquer plugin ou na função function.php do tema e ele deve funcionar imediatamente.

EDITAR:

Se isso não estiver funcionando para você (eu tive problemas menores mesmo com esse código), você pode criar um novo tema (ou um tema filho) e colocar apenas esse conteúdo dentro do arquivo header.php :

<?php
header("Location: ".get_admin_url());
exit();
    
por dev_masta 01.04.2017 / 01:30