1

jQuery UI timepicker アドオンを datepicker 関数に追加しようとしています。これらは、Wordpress インストールの管理セクションにロードされています。

スクリプトとスタイルシートがヘッダーに読み込まれています。私の問題は、タイムピッカー機能が初期化されていないことです。

クリックすると、日付ピッカーが正常に表示されます。どういうわけかここで構文を台無しにしましたか?

function my_admin_init() {
wp_enqueue_script('jquery');
wp_enqueue_script('jquery-ui-core');
wp_enqueue_script('jquery-ui-datepicker', get_stylesheet_directory() . 'js/jquery-ui-1.10.1.custom.min.js', array('jquery', 'jquery-ui-core') );
wp_enqueue_script('jquery-ui-datetimepicker', get_stylesheet_directory() . 'js/timepicker.js', array('jquery', 'jquery-ui-core') );
wp_enqueue_style('jquery.ui.theme', get_stylesheet_directory_uri() . '/css/jquery-ui-1.10.1.custom.min.css');
wp_enqueue_style('jquery.timepicker.theme', get_stylesheet_directory_uri() . '/css/timepicker.css');
}
add_action('admin_init', 'my_admin_init');

function my_admin_footer() {
?>
<script type="text/javascript">
jQuery(document).ready(function(){
    jQuery('#pyre_open').datepicker({
        dateFormat : 'DD, d MM, yy'
    });
    jQuery('#pyre_open').datetimepicker();
});
</script>
<?php
}
add_action('admin_footer', 'my_admin_footer');
4

1 に答える 1

0

これが古い投稿であることは知っていますが、他の誰かがこれに遭遇している可能性があります。

まず、ライブラリを正しく初期化していません。datetimepicker の完全な jquery-ui-core をキューに入れる必要はありません。私の functions.php では、コードは次のようになります。

wp_register_script( "timepicker", get_stylesheet_directory_uri().'/pathTo/jquery-ui-timepicker-addon.min.js', array( 'jquery', 'jquery-ui-datepicker', 'jquery-ui-slider' ), false, true );
...

//and later
wp_enqueue_script( 'timepicker' );
wp_enqueue_script( 'jquery-ui-datepicker' );
wp_enqueue_script( 'jquery-ui-spinner' );

wp_register_script では、含まれている jquery-ui クラスを datetimepicker に参照します - 完全なリストについては、こちらを参照してください。Wordpress Reference/wp register script

第二に、datetimepicker が機能しません。datetimpicker を呼び出すと、datepicker が読み込まれ、#pyre_open に既に表示されているためです。次の行を削除するか、時刻/日付ピッカーに別の html 要素を選択してください。

jQuery('#pyre_open').datepicker({
    dateFormat : 'DD, d MM, yy'
});
于 2016-03-22T07:35:20.207 に答える