wordpress插件中的enque jquery脚本

wordpress插件中的enque jquery脚本,wordpress,Wordpress,我无法让任何enqueue_脚本工作,这是我的代码(在我的插件文件中) 我哪里做错了?我似乎也无法加载自己的脚本 wp_enqueue_script('jquery'); wp_enqueue_script('jquery-ui-core'); wp_enqueue_script('jquery-ui-datepicker'); 我现在正在加载jquery ui脚本,但是没有加载datepicker脚本jquery ui datepicker与WordPress(最新版本)捆绑在一起,因此除了

我无法让任何enqueue_脚本工作,这是我的代码(在我的插件文件中)

我哪里做错了?我似乎也无法加载自己的脚本

wp_enqueue_script('jquery');
wp_enqueue_script('jquery-ui-core');
wp_enqueue_script('jquery-ui-datepicker');

我现在正在加载jquery ui脚本,但是没有加载datepicker脚本

jquery ui datepicker与WordPress(最新版本)捆绑在一起,因此除了脚本句柄之外,您不需要告诉它任何事情

wp_enqueue_script('jquery-ui-datepicker');
但是:“不能让它工作”到底意味着什么?您是否查看了页面源代码,但未找到正在加载的脚本?或者它加载,但没有CSS样式?我怀疑您的问题是后者,因为您没有为日期选择器排队(至少在上面)

现在,问题是WordPress实际上没有为日期选择器绑定任何支持CSS,因为WordPress本身没有使用它。因此,您需要:

  • 将一些支持CSS添加到您的管理样式表中
  • 将兼容的标准jquery ui主题排队,例如从CDN排队
对于后者,我刚才说过;这里有一些代码可以帮你处理这个问题;将其添加到上面的函数中

global $wp_scripts;

// get registered script object for jquery-ui
$ui = $wp_scripts->query('jquery-ui-core');

// tell WordPress to load the Smoothness theme from Google CDN
$url = "https://ajax.googleapis.com/ajax/libs/jqueryui/{$ui>ver}/themes/smoothness/jquery.ui.all.css";
wp_enqueue_style('jquery-ui-smoothness', $url, false, null);
这将加载整个enchilada,但您可能希望将其缩减为datepicker所需的CSS


编辑:要在旧版本的WordPress上获取datepicker脚本,该版本不会将datepicker脚本与其他jquery ui脚本捆绑在一起,最简单的解决方案是安装。该插件将用Google的CDN托管版本替换本地jquery脚本,所有jquery ui脚本将作为单个(缓存良好的!)脚本下载。

wp_enqueue_脚本(“jquery”);wp_排队_脚本('jquery-ui-core');wp_排队_脚本('jquery-ui-datepicker');我可以看到jquery ui现在正在加载,但datepicker没有加载?您只需要将jquery ui datepicker排队,因为jquery和jquery ui core是先决条件。只调用jquery ui datepicker不会为我加载ui core?您正在运行哪个版本的WordPress?它最近才被捆绑到WordPress中(比如3.4之类的)啊,有个问题,我正在运行3.2.1。如果不立即更新wordpress,我应该如何继续?
global $wp_scripts;

// get registered script object for jquery-ui
$ui = $wp_scripts->query('jquery-ui-core');

// tell WordPress to load the Smoothness theme from Google CDN
$url = "https://ajax.googleapis.com/ajax/libs/jqueryui/{$ui>ver}/themes/smoothness/jquery.ui.all.css";
wp_enqueue_style('jquery-ui-smoothness', $url, false, null);