jQuery插件在WordPress中不起作用

Adm*_*nch 1 html javascript wordpress jquery

我正在尝试在我的wordpress网站上实现一个jQuery插件.我已经想出如何使jQuery运行,但插件仍然无法正常工作.这是这个插件:contenthover

我试过这样的:

<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="http://example.com/wp-content/themes/xenia/assets/js/jquery.contenthover.min.js"></script>
<script type="text/javascript">
    <!--//-->
    <![CDATA[//>
    <!--
        jQuery(document).ready(function() {
            $('#d1').contenthover({
                overlay_background:'#000',
                overlay_opacity:0.8
            });
        });
     //-->
    <!]]//>
</script>
Run Code Online (Sandbox Code Playgroud)

无论我尝试什么都行不通.我已经包含了jQuery和插件functions.php.当我打电话给简单的slideUp();工作,但contenthover-plugin没有.我究竟做错了什么?

编辑:这也是我在主题的teh functions.php中挂钩的方式

wp_register_script(THEME_SLUG . '-jqueryMain', THEME_URI . '/assets/js/jquery-2.1.4.min.js', array('jquery'));
wp_register_script(THEME_SLUG . '-contenthover', THEME_URI . '/assets/js/jquery.contenthover.min.js', array('jquery'));

wp_enqueue_script(THEME_SLUG . '-jqueryMain');
wp_enqueue_script(THEME_SLUG . '-contenthover');
Run Code Online (Sandbox Code Playgroud)

Ger*_*der 5

WordPress使用noconflict包装器,因为其他库也$用作核心变量,所以$在WordPress中不能直接使用.

如果您仍想$在脚本中使用,则必须按如下方式定义:

jQuery(document).ready(function($) {
//                              ^-- add the dollar sign here
Run Code Online (Sandbox Code Playgroud)

在此功能内部$将按预期工作.

您可以在文档中阅读更多相关信息.

注意:您应该避免自己添加jQuery,其他插件或主题可能依赖于WordPress提供的jQuery版本.只需将jQuery WordPress提供入队.