在wordpress插件中排队jquery脚本

时间:2013-01-25 09:26:59

标签: wordpress wordpress-plugin

我无法使用任何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脚本

1 个答案:

答案 0 :(得分:0)

jquery-ui-datepicker与WordPress(最新版本)捆绑在一起,所以除了脚本句柄之外你不需要告诉它。

wp_enqueue_script('jquery-ui-datepicker');

但是:“无法让它发挥作用”意味着究竟是什么?您是否查看了页面源代码而未找到正在加载的脚本?或者它加载,但没有CSS样式吗?我怀疑你的问题是后者,因为你没有为datepicker排队任何CSS(至少在上面)。

现在,问题是WordPress实际上并没有捆绑任何支持CSS的datepicker,因为WordPress本身并没有使用它。所以,你需要:

  • 将一些支持CSS添加到您的管理样式表
  • 将兼容的标准jquery-ui主题排入队列,例如:来自CDN

对于后者,我blogged about that前一段时间;这里有一些代码可以为你处理;将它添加到上面的函数中。

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。

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