我正在尝试将波斯日历添加到 WooCommerce 中的自定义结帐字段。我已将波斯日期选择器 JS 和 CSS 文件添加到我的主题中,并添加了必要的 javascript 进行初始化,如“波斯日期选择器”文档中所述。
我将此代码添加到排队 css 和 js 文件。
function add_theme_scripts() {
wp_enqueue_style( 'persiandatepicker', get_template_directory_uri() . '/css/persian-datepicker.css', array(), '1.1', 'all');
wp_enqueue_script( 'persiandate', get_template_directory_uri() . '/js/persian-date.js', array ( 'jquery' ), '1.1', false);
wp_enqueue_script( 'persiandatepickerjs', get_template_directory_uri() . '/js/persian-datepickerjs.js', array ( 'jquery' ), '1.1', false);
wp_enqueue_script( 'mydatepicker', get_template_directory_uri() . '/js/my-datepicker.js', array ('jquery'),null, false);
}
add_action( 'wp_enqueue_scripts', 'add_theme_scripts' );
my-datepicker.js 文件(用于 datepicker 初始化):
<script type="text/javascript">
$(document).ready(function() {
$(".hasdatepicker").pDatepicker();
});
</script>
以及以下用于添加新日期字段的代码(我已经放置了部分代码,因为我也向 woocommerce 结帐页面添加了一些额外的自定义字段):
add_action('woocommerce_after_order_notes', 'customise_checkout_field');
function customise_checkout_field($checkout) {
woocommerce_form_field( 'billing_date', array(
'type' => 'text',
'class' =>array('form-row-first','hasdatepicker'),
'label' => __('تاریخ نصب'),
'required' => false,
'dateFormat'=> 'dd-mm-yy'
), $checkout->get_value( 'billing_date' ));
// echo '<input type="text" class="hasdatepicker" />'; // For testing purpose
}
正如您在上面代码末尾看到的那样,我什至输入了一个带有 class="hasdatepicker" 的输入,但它也没有显示日期选择器。js和css文件正在加载中,代码没问题。但没有显示日历或日期选择器。
任何想法或帮助表示赞赏。