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&load%5B%5D=jquery-core,jquery-migrate,utils,plupload&ver=4.7.4'></script>
在所有其他高级版本中它不是 运行 我在页面中看到了这个:
<script type='text/javascript' src='http://empty.com/wp-admin/load-scripts.php?c=0&load%5B%5D=jquery-core,jquery-migrate,utils,jquery-ui-core,plupload&ver=4.7.4'></script>
或者:
<script type='text/javascript' src='http://empty.com/wp-admin/load-scripts.php?c=0&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&load%5B%5D=e,plupload&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 总缓存。
现在一切都恢复正常了。
将 Yoast 更新到 4.7 版后,JQuery 似乎发生了冲突,而不是 运行。 在 Yoast 的 2.3.5 版本中,JQuery 运行 我在页面中看到了这个:
<script type='text/javascript' src='http://empty.com/wp-admin/load-scripts.php?c=0&load%5B%5D=jquery-core,jquery-migrate,utils,plupload&ver=4.7.4'></script>
在所有其他高级版本中它不是 运行 我在页面中看到了这个:
<script type='text/javascript' src='http://empty.com/wp-admin/load-scripts.php?c=0&load%5B%5D=jquery-core,jquery-migrate,utils,jquery-ui-core,plupload&ver=4.7.4'></script>
或者:
<script type='text/javascript' src='http://empty.com/wp-admin/load-scripts.php?c=0&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&load%5B%5D=e,plupload&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 总缓存。
现在一切都恢复正常了。