我的wordpress代码中是否存在任何jquery冲突?

时间:2018-10-06 20:05:30

标签: javascript jquery wordpress checkbox content-management-system

我有一个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

3 个答案:

答案 0 :(得分:1)

WordPress主题通常使用jQuery.noConflict(),这会使全局$处于未定义状态,以防止与也可能使用$的其他库冲突。

尝试更改

jQuery(document).ready(function() {

收件人

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

这将在$回调中暴露ready

答案 1 :(得分:0)

  1. 尝试删除jquery CDN
  2. 手动下载jquery.min.js
  3. 而不是从function.php入队相关的jquery / js文件,而是像<script src="<?php echo get_bloginfo( 'template_directory' ); ?>/js/jquery.min.js"></script>这样放在头部
  4. 然后包含js文件,该文件提供在jquery include下找不到的功能

这为我解决了问题。

答案 2 :(得分:0)

尝试重新安装或升级 wordpress 安装,它帮助我解决了这个 mediaelementplayer.js 错误