【发布时间】:2014-06-02 21:50:59
【问题描述】:
我正在开发一个简单的插件(我的第一个 WP 插件开发),我正在尝试使用此代码在插件设置页面中添加一个 datepicker 字段:
add_settings_field('example_date_picker', 'Example Date Picker', 'pu_display_date_picker', 'ft_admin.php', '', array());
add_action('admin_enqueue_scripts', 'enqueue_date_picker');
function pu_display_date_picker($args)
{
extract($args);
echo '<input type="date" id="datepicker" name="example[datepicker]" value="" class="example-datepicker" />';
}
/**
* Enqueue the date picker
*/
function enqueue_date_picker()
{
wp_enqueue_script(
'field-date-js', 'ft.js', array('jquery', 'jquery-ui-core', 'jquery-ui-datepicker'), time(), true
);
wp_enqueue_style('jquery-ui-datepicker');
}
代码来自这个post,但我得到这个错误:
致命错误:调用未定义的函数 add_settings_field() /var/www/html/arubaair/wp-content/plugins/frequent-traveler/frequent-traveler.php 第 41 行
我不知道为什么。该插件已安装并处于活动状态,如果我删除代码一切正常。我做错了什么?
更新
我把原来的代码改成这个:
add_action('admin_enqueue_scripts', 'enqueue_date_picker');
function enqueue_date_picker()
{
wp_enqueue_script(
'field-date-js', 'ft.js', array('jquery', 'jquery-ui-core', 'jquery-ui-datepicker'), time(), true
);
wp_enqueue_style('jquery-ui-datepicker');
}
文件ft.js 位于js 插件目录中。然后在我构建表单的页面中,我有这一行:
<input type="date" id="frequent_traveler_from_date" name="frequent_traveler_from_date" value="" class="datepicker" />
而ft.js 包含此代码:
jQuery(document).ready(function() {
jQuery('.datepicker').datepicker();
});
它不工作,我检查页面源和脚本没有加载,为什么?
【问题讨论】:
标签: php jquery wordpress datepicker