自 WP5.8 更新以来,WordPress 定制器链接停止工作

问题描述

自 WP 5.8 更新以来,我的 wordpress 定制器菜单项停止工作。所以我无法点击任何项目,如小部件、设置甚至更改主题。定制器中没有任何按钮可用。

当我在 WP 5.5 中使用相同的主题时,它 100% 有效

我尝试激活 Enable jQuery Migrate Helper 插件,但问题仍然存在。所以我确定这与我使用的主题有关。我需要解决这个问题。

这是我在开发工具控制台中得到的错误

Uncaught TypeError: t.onChangeSectionExpanded is not a function
    completeCallback http://localhost/atomx/wp-includes/js/dist/customize-widgets.min.js?ver=54217cb151203a814dd21ea6d0b8763c:2
    completeCallback http://localhost/atomx/wp-includes/js/dist/customize-widgets.min.js?ver=54217cb151203a814dd21ea6d0b8763c:2
    onChangeExpanded http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    onChangeExpanded http://localhost/atomx/wp-includes/js/dist/customize-widgets.min.js?ver=54217cb151203a814dd21ea6d0b8763c:2
    _toggleExpanded http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    collapse http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    onChangeExpanded http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    jQuery 3
    onChangeExpanded http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    initialize http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    jQuery 3
    _toggleExpanded http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    expand http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    attachEvents http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    jQuery 9
    attachEvents http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    initialize http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    jQuery 3
    e http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    embed http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    initialize http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    jQuery 3
    <anonymous> http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    each jQuery
    <anonymous> http://localhost/atomx/wp-admin/js/customize-controls.min.js?ver=5.8:2
    jQuery 13
customize-widgets.min.js:2:22838

谁能帮我指出正确的方向。我需要使用这个主题。我没有激活插件,所以我确定这与我使用的主题有关。

我在本地主机上工作,因此无法共享实时 URL。最新版本的 WP 和 wamp64

提前致谢。

解决方法

过去几天我尝试了很多东西。

一些建议是:

  1. .live jQuery 函数 - 用 .on JQ 函数替换它,并进行一些额外的调整。 - 没用
  2. 激活经典编辑器插件 - https://wordpress.org/plugins/classic-editor/ - 不起作用
  3. 激活 jQuery Migrate 插件 - https://wordpress.org/plugins/enable-jquery-migrate-helper - 不起作用
  4. 通过在函数文件中放置 remove_theme_support( 'widgets-block-editor' ) 来移除古腾堡支持 - 不起作用

我对这个问题的了解越多,它听起来像是由新的小部件部分引起的。于是我看到 WordPress 推出了一个名为 Classic Widgets 的新插件。激活此插件后,它立即解决了我的问题。

所以对于遇到此问题的其他人。查看经典小部件插件 - https://wordpress.org/plugins/classic-widgets/

几乎就是这样

// Disables the block editor from managing widgets in the Gutenberg plugin.
add_filter( 'gutenberg_use_widgets_block_editor','__return_false' );
// Disables the block editor from managing widgets.
add_filter( 'use_widgets_block_editor','__return_false' );

因此,您可以将上述 2 行添加到您的functions.php 文件中,而不是使用该插件,然后就可以修复它。

希望这能像我一样节省 4 天的挣扎时间。现在我需要弄清楚为什么在使用 New Block Widgets 时会破坏主题。