Я пытаюсь добавить персидский календарь в пользовательское поле оформления заказа в 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
}
Как вы видите в конце вышеприведенного кода, я даже поместил ввод с классом = "hasdatepicker", и он тоже не показывает datepicker. JS и CSS файлы загружаются, и код в порядке. но календарь или указатель даты не отображаются.
Любая идея или помощь приветствуются.