jQuery插件在WordPress中不起作用

时间:2015-11-11 09:58:15

标签: javascript jquery html wordpress

我试图在我的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>

无论我尝试什么都不起作用。我已经通过functions.php包含了jQuery和插件。当我调用简单slideUp();时,它可以正常工作,但contenthover-plugin没有。我做错了什么?

编辑: 这也是我在主题

的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');

1 个答案:

答案 0 :(得分:5)

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

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

jQuery(document).ready(function($) {
//                              ^-- add the dollar sign here

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

您可以详细了解in the documentation

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