Yoast, bbPress вызывают конфликт JQuery
После обновления Yoast до версии 4.7 похоже, что JQuery конфликтует и не запускается. В версии 2.3.5 Yoast 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>
Когда load-scripts.php вызывает jquery-ui-core, jquery-ui-widget,jquery-ui-position и т. Д., Он не запускается.
В консоли есть такие ошибки:
Я пытался изменить live() с помощью on(), но проблема остается.
До обновления до версии 4.7 версия 4.6 была идеальной. По этой причине я думаю о конфликте.
Предложения?
2 ответа
bbPress вызвал конфликт jQuery. Я удалил его также потому, что не установил его.
Проверены параметры в базе данных phpMyAdmin.
Очистите все кэши с помощью W3 Total Cache.
Теперь все снова работает.
Несмотря на то, что трудно сказать точную проблему, я могу сказать вам, что делать, чтобы решить ее. Yoast является широко используемым плагином, и, если исходный код будет взломан, тысячи веб-мастеров будут жаловаться и немедленно исправят это.
1) Убедитесь, что у вас установлена самая последняя версия - WordPress и Yoast.
2) Отключите все плагины, кроме Yoast - вероятность 99,9%, что у вас конфликт со вторым плагином или плохо созданной темой. Скорее всего, один из них неправильно ставит в очередь jquery или jquery-ui или внедряет скрипт, который вызывает проблемы. Может быть, jQuery или jQuery UI в Admin загружаются несколько раз?
Это единственный правильный способ создания сценариев постановки в очередь: 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 только с новой версией, корень проблемы, вероятно, где-то еще в вашей теме или плагинах.