Yoast,bbPress导致JQuery冲突

时间:2017-05-09 11:05:01

标签: javascript jquery wordpress bbpress

在将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>

当load-scripts.php调用jquery-ui-core,jquery-ui-widget,jquery-ui-position等时,它不会运行。

在控制台中存在以下错误:

enter image description here

我尝试使用on()更改live(),但问题仍然存在。 enter image description here

在更新到4.7版之前,版本4.6非常完美。出于这个原因,我认为是冲突。

建议?

2 个答案:

答案 0 :(得分:1)

enter image description here

bbPress导致jQuery冲突。我删除了它,也因为我还没有安装它。

验证了phpMyAdmin数据库的选项。

使用 W3总缓存

清空所有缓存

现在再次运作。

答案 1 :(得分:0)

即使很难说出确切的问题,我也可以告诉你该怎么做才能解决它。 Yoast是一个广泛使用的插件,如果消息来源实际上已被破坏,数以千计的网站管理员会抱怨,他们会立即修复它。

1)确保你拥有最新版本的两个版本 - 安装了WordPress和Yoast。

2)禁用除Yoast以外的所有插件 - 99,9%偶然您与第二个插件或创建错误的主题发生冲突。很可能其中一个没有正确排队jquery或jquery-ui或注入一个导致问题的脚本。 也许管理员中的jQuery或jQuery UI多次加载?

这是排队脚本的唯一正确方法: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,问题的根源可能是主题或插件中的其他位置。