更新woocommerce后,我发现此控制台错误:
(index):600 Uncaught TypeError:$(...)。bootstrapValidator不是 功能 在HTMLDocument。 ((指数):600) at i(jquery.js?ver = 1.12.4:2) at Object.fireWith [as resolveWith](jquery.js?ver = 1.12.4:2) 在Function.ready(jquery.js?ver = 1.12.4:2) 在HTMLDocument.K(jquery.js?ver = 1.12.4:2)
这是脚本:
(function($) {
jQuery(document).ready(function($) {
$("#email-pdf-form").bootstrapValidator({
message: "This value is not valid",
feedbackIcons: {
valid: "fa fa-check",
invalid: "fa fa-times",
validating: "fa fa-spin fa-spinner"
},
fields: {
sender_email: {
validators: {
notEmpty: {
message: "Your email is required"
}
}
},
sender_name: {
validators: {
notEmpty: {
message: "Your name is required"
}
}
},
receiver_email: {
validators: {
notEmpty: {
message: "Recipient email is required"
}
}
},
receiver_name: {
validators: {
notEmpty: {
message: "Recipient name is required"
}
}
}
}
});
});
})(jQuery);

这是一个自定义图片插件,可在此处验证信息https://thesafaripartners.feedmybeta.com/tour/vfbc/
我更新了woocommerce插件后,它崩溃了我的页面。之前工作正常。我认为它必须与Jquery做点什么,但我无法弄清楚。
答案 0 :(得分:0)
似乎不包括验证器脚本。您需要将wp_enqueue_script与包含其他脚本的操作一起使用。试试这段代码:
function add_validation_script() {
wp_enqueue_script( 'bootstrapValidator',
plugins_url( 'assets/js/bootstrapValidator.min.js', dirname(__FILE__) ),
array( 'jquery' ),
'0.5.0' );
}
add_action( 'wp_enqueue_scripts', 'add_validation_script' );
答案 1 :(得分:0)
您正在注册脚本但不是真正添加/排队。
因此,而不是wp_register_script(...)
使用wp_enqueue_script(...)
函数。
你会使用@ alexander-z提供的代码。 或者您可以离开寄存器,然后在寄存器之后(或在寄存器之后运行的任何其他地方)添加:
wp_enqueue_script( 'bootstrapValidator');
还要确保在注册jQuery后调用脚本的wp_enqueue_script
或将jquery
作为函数的参数。
答案 2 :(得分:0)
使用'wp_enqueue_script'挂钩将您的脚本文件排入后,尝试更改js文件中的以下代码。
更改
jQuery(document).ready(function(){
});
到
$(document).ready(function(){
});
希望这会奏效。