我使用的是本地干净安装的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库中,但我一直在错误控制台中遇到两个问题。
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);