我在wordpress中遇到了脚本问题。我在主题文件夹
中的functions.php中包含了脚本function my_scripts_method() {
wp_register_script( 'my-js-file',
get_template_directory_uri() . '/js/my-js.js',
array( 'jquery' ),
'1.0',
false );
wp_enqueue_script( 'my-js-file' );
}
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
和我的脚本在我的datepicker ui中做了一些调整。但是该脚本一直包含在内,当表单上没有datepicker时,它不知道“datepicker”及其方法。网络比没有背景和其他问题。
我想通了,我可以检查一下,如果表格类的日期字段存在,或者整个插件(它的可视化表单构建器)是否在该页面上,但它不起作用。 Wordpress正在处理该脚本,即使该类不在当前页面上。
我试过很多像这样的事情if ($(".visual-form-builder-container")){
但它仍然在主页面上加载该脚本,此元素不存在。 请帮忙
这是脚本:
if($(".visual-form-builder-container").length > 0) { <-- Im trying to stop that here
jQuery(document).ready(function($) {
$.datepicker.setDefaults({
firstDay: 1,
minDate: 0,
});
});
}
编辑: 也许我找到了一些东西当我在我的脚本中没有任何“if”打开我的网站并检查chrome控制台时,有:Uncaught TypeError:无法调用undefined方法'setDefaults' 因此,如果我可能需要类似的东西:if是方法定义而不是它应该工作但我不知道任何函数,那检查方法....
答案 0 :(得分:0)
好的,可能已经解决了。 我刚刚添加了try和catch到脚本(这是我的代码):
jQuery(document).ready(function($) {
try{
$.datepicker.setDefaults({
firstDay: 1,
minDate: 0,
});
$( '#vfb-datum-75' ).datepicker({
beforeShowDay: ..........,
});
}catch(err){
}
});
所以现在它可以工作,当一切都好,当某些东西未定义时,它什么都不做,那就好了 无论如何,谢谢你的帮助;)