【问题标题】:jQuery plugin doesn't work in WordPressjQuery 插件在 WordPress 中不起作用
【发布时间】:2015-11-11 18:28:21
【问题描述】:

我正在尝试在我的 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');

【问题讨论】:

  • 您是否已经尝试通过挂钩对脚本进行入队(查看 wp_enqueue_scripts 的文档)?还要检查 JS 控制台是否有任何消息并发布它们。
  • 是的。我已经这样做了.. 当我查看源代码时,jquery-lib 和插件都在页面头部实现
  • 你能提供你用来排队脚本的代码吗?控制台是否显示任何错误消息?
  • 我已经编辑了这个问题 ;) .. 不,控制台什么也没说
  • 您的wp_register_script() 没有意义,您以不同的名称注册 jquery,但提供 jquery 作为依赖项。 WordPress 将加载 jQuery 两次。

标签: javascript jquery html wordpress


【解决方案1】:

WordPress 使用无冲突包装器,因为其他库也使用 $ 作为核心变量,因此 $ 在 WordPress 中不直接可用。

如果你仍然想在你的脚本中使用$,你必须这样定义它:

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

在这个函数内部$ 将按预期工作。

您可以阅读更多关于它的信息in the documentation。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多