Есть ли конфликты jquery в моем коде WordPress? - PullRequest
0 голосов
/ 06 октября 2018

У меня есть страница WordPress, где я хотел бы проверить категорию в флажке, используя значение данных.В этом случае «Объявление»

Этот скрипт работает на codepen просто отлично, но не на WordPress.Следующее - все, что я помещаю на страницу WordPress.

jQuery(document).ready(function() {
  var input = $('input[data-value="Announcement"]')
  input.focus();
  input.select();
  input.prop('checked', true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
<input type="checkbox" id="test" name="category[]" data-wpt-type="checkbox" data-wpt- id="test" data-wpt- name="category[]" value="1" data-parent="-1" data-value="Announcement" class="wpt-form-checkbox form-checkbox checkbox">

<input type="checkbox" id="test2" name="category[]" data-wpt-type="checkbox" data-wpt- id="test2" data-wpt- name="category[]" value="2" data-parent="-1" data-value="Story" class="wpt-form-checkbox form-checkbox checkbox">

Это проблема / конфликт jquery?Конфликт темы или неправильный код?

jQuery.Deferred exception: 
b(...).not(...).filter(...).mediaelementplayer is not a function 
a@http://localhost/wordpress2018/wp-includes/js/mediaelement/wp- 
mediaelement.min.js?ver=4.9.8:1:634 g/</k<@https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js:2: 
30262
 undefined jquery.min.js:2:31515
jQuery.Deferred exception: jQuery(...).css(...).mCustomScrollbar is 
not a 
function Init_BodyConv@http://localhost/wordpress2018/wp- 
content/plugins/um-messaging/assets/js/um-messaging.js?ver=4.9.8:36:2
@http://localhost/wordpress2018/wp-content/plugins/um- 
messaging/assets/js/um-messaging.js?ver=4.9.8:115:2 j@https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js:2:2994 g/</k<@https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js:2:30262

Ответы [ 2 ]

0 голосов
/ 17 января 2019
  1. Попробуйте удалить jquery CDN
  2. Загрузите jquery.min.js вручную
  3. Вместо того, чтобы ставить в очередь связанный файл jquery / js из function.php, включите в заголовок, как <script src="<?php echo get_bloginfo( 'template_directory' ); ?>/js/jquery.min.js"></script>
  4. Затем включите файл js, который дает функцию, не найденную ниже. Jquery include

Это решило проблему для меня.

0 голосов
/ 06 октября 2018

Темы Wordpress обычно используют jQuery.noConflict () , что делает глобальный $ неопределенным, чтобы предотвратить конфликты с другими библиотеками, которые также могут использовать $

Попробуйте изменить

jQuery(document).ready(function() {

К

jQuery(document).ready(function($) {
                             // ^^

, который выставит $ внутри ready обратного вызова

...