WordPress Java脚本小部件jQuery依赖关系问题

时间:2014-11-11 作者:David Howard

我使用的是本地干净安装的WP 4.0 en\\u GB,没有插件。

我已经获得了一些信息,可以在我的网站中实现JS小部件。

<div id="login"></div>

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="//partners.basekit.com/embed.js"></script>

<script type="text/javascript">
  $(function() {
    $("#login").loginWidget({
      partnerRef: 0000,
    });
  });
</script>
现在我的理解是,我应该使用WP jQuery库通过我的函数加载所有内容。php文件。

下面是我正在做的:

/* Enable BaseKit Scripts */
function bk_embed() {
    wp_register_script(\'bk-embed-script\', \'//partners.basekit.com/embed.js\');
    wp_enqueue_script(\'bk-embed-script\', array(\'jquery\'), false );
}

add_action(\'wp_enqueue_scripts\', \'bk_embed\');

function bk_widget() {
?>
<script>
    $(function(){
        $("#login").loginWidget({
            partnerRef: 0000,
        });
    });
</script>
<?php
}
add_action( \'wp_footer\', \'bk_widget\' );
嵌入。js文件应该加载到head ad WP jQuery 1.11.1库中,但我一直在错误控制台中遇到两个问题。

Error Console

1 个回复
SO网友:Andrew Bartel

因为WordPress以无冲突模式加载jQuery,所以$不能作为全局变量访问。您需要显式使用jQuery.

jQuery(document).ready(function () {
    jQuery("#login").loginWidget({
        partnerRef: 0000,
    });
});
如果像我一样,您想使用$,可以将其传递给ready函数。

jQuery(document).ready(function ($) {
    // you can use $ normally here now
    $("#login").loginWidget({
        partnerRef: 0000,
    });
});

Edit:

如果您想使用自初始化函数而不是文档就绪函数,那么添加该函数可能会很有用,您也可以传递jQuery。

(function($) {
    // use $ normally now
})(jQuery); 

结束

相关推荐

来自jQuery AJAX的WP API删除请求

我正在使用rest json API插件http://wp-api.org/ 创建一个小应用程序。我试图用jquery ajax删除一个自定义的帖子条目,但缺少一些东西,下面是我的代码:... //make the request var dataArray = {}; var urlRequest = WP_API_Settings.root+\"/posts/\"+postID; var typeRequest = \'D