此网站上的 _/public_html/wp-includes/widgets.php 第 617 行出现严重错误

问题描述 投票:0回答:1

更新 WordPress 网站后,我的网站崩溃了。我什至无法访问 WordPress 仪表板。

收到消息...

此网站上的 _/public_html/wp-includes/widgets.php 第 617 行出现严重错误

但是如果我删除了以下代码表单(第 617 行上的 _/public_html/wp-includes/widgets.php),我的网站将再次看起来不错。

    $widget                                   = array_merge( $widget, $options );

每次更新 WordPress 时我都必须删除此代码。

如何修复我的主题?或者如何解决这个问题以免再次发生?

请有人帮助我。

wordpress
1个回答
0
投票

首先,更新核心 WordPress 文件并不是最佳实践。

解决方案:

逐步排除故障

1. 启用调试模式

要更深入地了解问题,请启用 WordPress 调试模式:

  • 打开您的
    wp-config.php
    文件。
  • 添加以下行以启用日志记录:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

这会将错误消息记录到

wp-content/debug.log
。检查日志文件以确定问题是否是由插件、主题或其他原因引起的。

2. 检查主题兼容性

该问题可能是由过时或不兼容的主题引起的。您可以执行以下操作:

  • 更新您的主题:确保您的主题是最新的 WordPress 版本。
  • 切换到默认主题:暂时切换到
    Twenty Twenty-Two
    等默认主题,看看错误是否仍然存在。您可以通过 FTP 重命名当前主题文件夹来完成此操作。然后 WordPress 将自动加载默认主题。

3. 检查插件兼容性

插件也可能在 WordPress 更新期间导致冲突。请按照以下步骤操作:

  • 禁用所有插件:通过 FTP 将
    wp-content/plugins
    文件夹重命名为
    plugins_old
    并检查您的网站是否正常工作。如果是这样,则说明是某个插件导致了问题。
  • 逐一重新激活插件:将文件夹重命名回
    plugins
    ,然后分别重新激活每个插件,以确定是哪个插件导致了冲突。

4. 避免编辑核心文件

不建议
手动编辑核心文件,例如wp-includes/widgets.php。 WordPress 核心文件会在每次更新时被覆盖,因此任何手动更改都将丢失,从而导致相同的问题再次发生。

相反,找到根本原因并在主题或插件中应用修复程序。如果您需要自定义,请考虑使用子主题或自定义插件,而不是直接编辑核心文件。

5. 咨询主题或插件支持

如果您发现特定主题或插件导致了该问题,请检查支持论坛或联系开发人员以获取修复或补丁。

6. 重新安装 WordPress 核心文件

如果您怀疑WordPress核心文件已损坏,您可以重新上传它们:

  1. wordpress.org 下载最新版本的 WordPress。
  2. 解压 ZIP 文件。
  3. 通过 FTP 将
    wp-admin
    wp-includes
    文件夹上传到您的服务器,覆盖现有文件夹(但 不要覆盖
    wp-content
    wp-config.php
    )。

这可确保没有核心文件丢失或损坏。

7. 创建子主题进行自定义

如果错误是由于主题自定义导致的,请创建子主题,而不是直接编辑核心主题文件。这样,您的自定义设置就不会在更新期间丢失。

以下是创建子主题的方法:

  1. wp-content/themes/
    中创建一个名为
    your-theme-child
    的文件夹。
  2. 在该文件夹内,创建一个包含以下内容的
    style.css
    文件:
/*
 Theme Name:   Your Theme Child
 Template:     your-theme
*/
  1. 创建一个
    functions.php
    文件以添加任何自定义 PHP 代码。

8. 恢复备份

如果您有更新前的备份,恢复备份可能是最快的修复方法。恢复后,在本地或临时环境中测试 WordPress 更新,以确保兼容性,然后再将其应用到实时站点。


注:
在实时服务器上应用任何解决方案之前,请先备份您的站点。最好在“本地环境”中调试和修复问题,以避免破坏实时站点。

© www.soinside.com 2019 - 2024. All rights reserved.