自定义jQuery插件不起作用

时间:2014-01-29 作者:4ndro1d

我正在尝试使用此加载项:

http://trentrichardson.com/examples/timepicker/

在提交之前,可以在前端编辑发布日期和时间。

我正在这样注册我的脚本:

function theme_name_scripts() {
        wp_enqueue_style(\'jquery-style\', \'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css\');

//TIMEPICKER
wp_enqueue_style( \'timepicker\', get_stylesheet_directory_uri() . \'/js/timepicker/jquery-ui-timepicker-addon.css\' );
wp_enqueue_script(\'timepicker\', get_stylesheet_directory_uri() . \'/js/timepicker/jquery-ui-timepicker-addon.js\', array(\'jquery\', \'jquery-ui-core\', \'jquery-ui-slider\', \'jqueryui-datepicker\', ), \'1.4.3\' );

wp_enqueue_script(\'modernizr\');

//LEAFLET
wp_enqueue_style( \'leaflet\', get_stylesheet_directory_uri() . \'/js/leaflet/leaflet.css\' );
wp_enqueue_script(\'leaflet\', get_stylesheet_directory_uri() . \'/js/leaflet/leaflet.js\' );
}

add_action( \'wp_enqueue_scripts\', \'theme_name_scripts\' );
集成的日期选择器工作正常,但由于我也想使用时间选择器,因此收到以下错误消息:

TypeError: jQuery(...).datetimepicker is not a function
所以我想知道是什么导致了这个错误。是不是因为插件使用$而不是jQuery?

http://trentrichardson.com/examples/timepicker/jquery-ui-timepicker-addon.js

1 个回复
最合适的回答,由SO网友:Otto 整理而成

首先,你的链接403是给我的。我假设您使用的是我在这里找到的代码:

https://github.com/trentrichardson/jQuery-Timepicker-Addon/blob/master/dist/jquery-ui-timepicker-addon.js

现在,$这件事已经不是问题了,JS代码库使用了适当的$包装器,因此无需修改即可正常工作。

实际问题是一个简单的拼写错误。请看这行代码:

wp_enqueue_script(\'timepicker\', get_stylesheet_directory_uri() . \'/js/timepicker/jquery-ui-timepicker-addon.js\', array(\'jquery\', \'jquery-ui-core\', \'jquery-ui-slider\', \'jqueryui-datepicker\', ), \'1.4.3\' )

你有一点jqueryui-datepicker 实际上应该是jquery-ui-datepicker. 请注意附加的连字符。

查看wp-includes/script-loader.php, 大约在第163行左右,您将找到所有默认脚本的命名位置。

结束

相关推荐

在加载插件中的特定页面时执行jQuery

我正在建立一个插件,我想能够隐藏wordpress管理侧菜单和顶栏时,一个特定的页面显示(或菜单项点击)?我应该直接在插件页面的代码中作为脚本调用jquery吗,或者当页面加载时,或者使用ajax或类似的工具从挂钩函数中单击菜单项时,是否有办法执行jquery?以下是我不想运行的jquery:$(\"#wpadminbar, #adminmenuwrap\").hide();