0

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

function load_custom_wp_admin_style() {
    wp_enqueue_script( 'jquery-ui-datepicker', '', array('jquery'));
}
add_action( 'admin_enqueue_scripts', 'load_custom_wp_admin_style' );

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

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

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

4

1 回答 1

0

jquery-ui-datepicker 与 WordPress(最新版本)捆绑在一起,因此您无需告诉它脚本句柄之外的任何内容。

wp_enqueue_script('jquery-ui-datepicker');

但是:“不能让它工作”到底是什么意思?您是否查看了页面源代码并没有找到正在加载的脚本?或者它加载了,但没有 CSS 样式?我怀疑您的问题是后者,因为您没有为 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);

这会加载整个辣酱玉米饼馅,但您可能希望将其缩减为日期选择器所需的 CSS。

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

于 2013-01-25T09:42:04.480 回答