Como corrigir problema de painel vazio no WordPress?


42

Um site da minha empresa usa blog no WordPress 3.3.1 com tema baseado em vinte e dez. Na semana passada, atualizei o Apache e o PHP em nosso servidor de produção. Posteriormente, o painel se recusou a trabalhar. Quando um usuário faz login, um painel em branco é exibido. Um menu com links ainda está presente, mas nenhum dos links funciona, portanto, não é possível criar novas postagens etc. Na fonte da página, vejo a seguinte mensagem:

Erro fatal : acesso à propriedade estática não declarada: WP_Screen :: $ this no blog / wp-admin / includes / screen.php na linha 706

Não foram feitas alterações na configuração do WordPress e nenhum novo plug-in instalado. Como corrigir o problema?


3
Por que você não atualiza para a versão estável atual do WordPress com suporte para versões mais recentes do php?
bueltge

Respostas:


83

Há um erro no WordPress 3.3.1 que está causando o problema. Também pode afetar outras versões.

Para resolver o problema, você pode atualizar o WordPress para a versão estável atual e fazer testes de integração posteriormente. Ou você pode fazer uma rápida correção de bug.

Para corrigir o erro:

  1. Abra o arquivo blog / wp-admin / includes / screen.php no seu editor de texto favorito.
  2. Na linha 706, encontre a seguinte instrução PHP:<?php echo self::$this->_help_sidebar; ?>
  3. Substitua-o pela instrução: <?php echo $this->_help_sidebar; ?>
  4. Salve suas alterações.

Espero que ajude você.


Obrigado, só tenho o mesmo problema e o corrigi. O que é bug na linha acima? Porque inicialmente meu site está funcionando perfeitamente até que eu veja o erro acima.
Imran

1
@Imran O bug é uma referência sintaticamente incorreta à propriedade '_help_sidebar' de uma instância da classe WP_Screen. Parece que os intérpretes do PHP antes de alguma versão são branda com essa declaração, mas após a atualização para uma versão mais recente, simplesmente reporte o erro.
Dmitry Lebedev

Eu sei que comentários de agradecimento são desencorajados, mas isso levou alguns segundos para implantar e literalmente salvou meu blog. Esse problema estranho nem aparece nos meus logs de erros.
1owk3y

1

A resposta de Dmitry para substituir a instrução PHP errada parece melhor para mim:

Substituir <?php echo self::$this->_help_sidebar; ?>

Com <?php echo $this->_help_sidebar; ?>


Fazer alterações nos arquivos principais nunca é aconselhável, pois você perderá as alterações nas atualizações e também se restringirá a comentar no segmento de resposta. Entendo que você ainda não tem o privilégio de adicionar comentários, mas vamos mantê-lo. para obter respostas exclusivamente
Maruti Mohanty

2
É verdade, mas se essa tela branca da morte apenas impedir que você atualize para a versão em que esse bug foi corrigido (ou seja, mais recente :)), essa é a solução mais rápida. Suas alterações serão substituídas imediatamente, para que o efeito colateral indesejado acabe.
Attila Fulop

0

você tem três opções

  • Faça o downgrade do php - você provavelmente não vai gostar
  • Atualizar wordpres - você está executando o 3.3.1? é hora da atualização em qualquer caso
  • Corrija o erro no núcleo - Não é tão ruim quanto parece, pois o código "screen" controla a tela de ajuda e talvez você não precise mais de ajuda para operar o wordpress.

0

Mesmo que você não tenha feito alterações na configuração ou adicionado novos plugins ao WordPress, a atualização da versão subjacente do PHP pode estar causando um conflito com um dos plug-ins que você já está usando com sucesso.

Como você não pode acessar o painel do administrador para desativar plug-ins, tente renomear sua pasta / wp-content / plugins para algo como / wp-content / plugins-OLD e tente acessar o administrador novamente.

Se você conseguir entrar depois de desativar seus plug-ins, poderá reativá-los 1 por 1 para ver qual é o culpado e deixá-lo desativado até atualizar o núcleo do WordPress e o próprio plug-in para as versões mais recentes. espero que não tenha esses problemas.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.