如何修复WordPress中的空白仪表板问题?


42

我公司的一个网站在WordPress 3.3.1上使用博客,主题为“二十十”。上周,我在生产服务器上升级了Apache和PHP。之后,仪表板拒绝工作。用户登录时,将出现空白的仪表板。带有链接的菜单仍然存在,但是所有链接都不起作用,因此无法创建新帖子等。在页面源中,我看到以下消息:

致命错误:在第706行的blog / wp-admin / includes / screen.php中访问未声明的静态属性:WP_Screen :: $ this

没有对WordPress配置进行任何更改,也没有安装新的插件。如何解决这个问题?


3
为什么不通过支持较新的php版本就不更新到WordPress的当前稳定版本?
bueltge

Answers:


83

WordPress 3.3.1中有一个错误导致该问题。它也可能会影响其他版本。

要解决此问题,您可以将WordPress更新到当前的稳定版本,然后再进行集成测试。或者,您可以快速修复错误。

要修复该错误:

  1. 在您喜欢的文本编辑器中打开文件blog / wp-admin / includes / screen.php
  2. 706行中,找到以下PHP语句:<?php echo self::$this->_help_sidebar; ?>
  3. 将其替换为以下语句: <?php echo $this->_help_sidebar; ?>
  4. 保存您的更改。

希望对您有帮助。


谢谢,我只是有同样的问题,并已解决。上一行中的错误是什么?因为最初我的网站运行良好,直到出现上述错误。
伊姆兰(Imran)2015年

1
@Imran该错误是对WP_Screen类实例的属性'_help_sidebar'的语法错误引用。在某些版本之前,PHP解释器似乎对此命令宽容,但在升级到某些较新版本之后,只需报告错误。
德米特里·列别捷夫

我知道我们不鼓励“谢谢”评论,但是这花了几秒钟来部署并真正保存了我的博客。这个奇怪的问题甚至都没有出现在我的错误日志中。
1owk3y

1

德米特里(Dmitry)替换错误的PHP语句的答案对我来说似乎最好:

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

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


绝对不建议对核心文件进行更改,因为您将失去对更新的更改,并限制自己在答案线程中发表评论,我知道您还没有添加评论的特权,但请保留答案线程专门寻找答案
Maruti Mohanty

2
是的,但是如果白屏死机只是阻止您升级到已修复此错误的版本(即最新的:)),那么这是最快的解决方案。您所做的更改将立即被覆盖,因此不必要的副作用就消失了。
Attila Fulop 2014年

0

你有三个选择

  • 降级php-您可能不会喜欢它
  • 升级wordpres-您正在运行3.3.1?无论如何都是升级时间
  • 修复核心错误-听起来不那么糟糕,因为“屏幕”代码控制了帮助屏幕,您可能不再需要使用wordpress的帮助。

0

即使您没有进行任何配置更改或向WordPress添加新插件,升级基础PHP版本也可能会与您已经成功使用的其中一个插件发生冲突。

由于您无法进入管理控制台来禁用插件,请尝试将/ wp-content / plugins文件夹重命名为/ wp-content / plugins-OLD之类,然后尝试再次访问管理员。

如果您在禁用插件后可以成功进入,则可以一一重新启用它们,以查看哪个可能是罪魁祸首,并禁用它,直到将WordPress核心和插件本身升级到最新版本为止希望没有这些问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.