Yoast、bbPress 导致 JQuery 冲突

Yoast, bbPress cause JQuery conflict

将 Yoast 更新到 4.7 版后,JQuery 似乎发生了冲突,而不是 运行。 在 Yoast 的 2.3.5 版本中,JQuery 运行 我在页面中看到了这个:

<script type='text/javascript' src='http://empty.com/wp-admin/load-scripts.php?c=0&amp;load%5B%5D=jquery-core,jquery-migrate,utils,plupload&amp;ver=4.7.4'></script>

在所有其他高级版本中它不是 运行 我在页面中看到了这个:

<script type='text/javascript' src='http://empty.com/wp-admin/load-scripts.php?c=0&amp;load%5B%5D=jquery-core,jquery-migrate,utils,jquery-ui-core,plupload&amp;ver=4.7.4'></script>

或者:

<script type='text/javascript' src='http://empty.com/wp-admin/load-scripts.php?c=0&amp;load%5B%5D=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,jquery-ui-position,jquery-ui-menu,wp-a11y,jquery-ui-autocomplet&amp;load%5B%5D=e,plupload&amp;ver=4.7.4'></script>

加载时-scripts.php调用jquery-ui-core,jquery-ui-widget,jquery-ui-位置等,不是运行.

控制台中出现以下错误:

我尝试将 live() 更改为 on(),但问题仍然存在。

在更新到4.7版本之前,4.6版本已经很完美了。为此我觉得有冲突。

建议?

尽管很难说出确切的问题,但我可以告诉您如何解决它。 Yoast 是一个广泛使用的插件,如果源确实被破坏,成千上万的网站管理员会抱怨,他们会立即修复它。

1) 确保您安装了最新版本的 WordPress 和 Yoast。

2) 禁用除 Yoast 之外的所有插件 - 99,9% 的机会 您与第二个插件或创建错误的主题有冲突。很可能其中之一没有正确排队 jquery 或 jquery-ui 或注入导致问题的脚本。 Admin中的jQuery或jQueryUI可能被加载了多次?

这是执行排队脚本的唯一正确方法:https://developer.wordpress.org/reference/functions/wp_enqueue_script/

这意味着:

add_action( 'admin_enqueue_scripts', 'jquery_and_ui' );

function jquery_and_ui() {
    wp_enqueue_script( 'jquery');
    wp_enqueue_script( 'jquery-ui-core');
}

即使 Yoast 仅在新版本中开始注入 jQuery UI,问题的根源可能在您的主题或插件中的其他地方。

bbPress 引起了 jQuery 冲突。我已经删除了,也是因为我没有安装。

已验证 phpMyAdmin 数据库的选项。

清空所有缓存 W3 总缓存

现在一切都恢复正常了。