更新 WordPress 网站后,我的网站崩溃了。我什至无法访问 WordPress 仪表板。
收到消息...
此网站上的 _/public_html/wp-includes/widgets.php 第 617 行出现严重错误
但是如果我删除了以下代码表单(第 617 行上的 _/public_html/wp-includes/widgets.php),我的网站将再次看起来不错。
$widget = array_merge( $widget, $options );
每次更新 WordPress 时我都必须删除此代码。
如何修复我的主题?或者如何解决这个问题以免再次发生?
请有人帮助我。
首先,更新核心 WordPress 文件并不是最佳实践。
解决方案:
要更深入地了解问题,请启用 WordPress 调试模式:
wp-config.php
文件。define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
这会将错误消息记录到
wp-content/debug.log
。检查日志文件以确定问题是否是由插件、主题或其他原因引起的。
该问题可能是由过时或不兼容的主题引起的。您可以执行以下操作:
Twenty Twenty-Two
等默认主题,看看错误是否仍然存在。您可以通过 FTP 重命名当前主题文件夹来完成此操作。然后 WordPress 将自动加载默认主题。插件也可能在 WordPress 更新期间导致冲突。请按照以下步骤操作:
wp-content/plugins
文件夹重命名为 plugins_old
并检查您的网站是否正常工作。如果是这样,则说明是某个插件导致了问题。plugins
,然后分别重新激活每个插件,以确定是哪个插件导致了冲突。不建议手动编辑核心文件,例如
wp-includes/widgets.php
。 WordPress 核心文件会在每次更新时被覆盖,因此任何手动更改都将丢失,从而导致相同的问题再次发生。
相反,找到根本原因并在主题或插件中应用修复程序。如果您需要自定义,请考虑使用子主题或自定义插件,而不是直接编辑核心文件。
如果您发现特定主题或插件导致了该问题,请检查支持论坛或联系开发人员以获取修复或补丁。
如果您怀疑WordPress核心文件已损坏,您可以重新上传它们:
wp-admin
和 wp-includes
文件夹上传到您的服务器,覆盖现有文件夹(但 不要覆盖 wp-content
或 wp-config.php
)。这可确保没有核心文件丢失或损坏。
如果错误是由于主题自定义导致的,请创建子主题,而不是直接编辑核心主题文件。这样,您的自定义设置就不会在更新期间丢失。
以下是创建子主题的方法:
wp-content/themes/
中创建一个名为 your-theme-child
的文件夹。style.css
文件:/*
Theme Name: Your Theme Child
Template: your-theme
*/
functions.php
文件以添加任何自定义 PHP 代码。如果您有更新前的备份,恢复备份可能是最快的修复方法。恢复后,在本地或临时环境中测试 WordPress 更新,以确保兼容性,然后再将其应用到实时站点。
注:
在实时服务器上应用任何解决方案之前,请先备份您的站点。最好在“本地环境”中调试和修复问题,以避免破坏实时站点。