0

以下は、jquery datetime picker を使用しようとしているカスタム プラグインのページ コードです。ピッカー スクリプトは、このリンクから取得されました。しかし、何らかの理由で、「jQuery("#calendar1, #calendar2").calendar は関数ではありません」というエラー メッセージが表示されます。必要なファイルがカスタム コードの前に正しく含まれていることを確認しました。しかし、まだこのエラーがあります。

<?php
function list_my_styles() {  // ADDING THE SCRIPTS
$plugin_url = WP_PLUGIN_URL.'/my_custom_datepicker/';
wp_register_style('my-addon-datepicker-css',$plugin_url.'jquery-calendar.css');
wp_enqueue_style('my-addon-datepicker-css');
wp_enqueue_script('jquery');
wp_register_script('calendar_plugin',$plugin_url.'jquery-calendar.js');
wp_enqueue_script('calendar_plugin');
}
add_action('wp_enqueue_scripts','list_my_styles');

function my_custom_datetime_script() {  // ADDING THE JQUERY SCRIPT
?>
<script type="text/javascript">
    jQuery(document).ready(function() {
        jQuery("#calendar1, #calendar2").calendar();
        jQuery("#calendar1_alert").click(function(){alert(popUpCal.parseDate(jQuery('#calendar1').val()))});
    });
</script>
<?php   
}
add_action('wp_head','my_custom_datetime_script');
function custom_datetime_picker_area() {
?>

<input type="text" id="calendar1" class="calendarFocus"/>
<input type="button" id="calendar1_alert" value="Alert datetime object"/>
<?php   
}
add_shortcode('my_datepicker','custom_datetime_picker_area');
?>

どんな助けでも大歓迎です

ありがとう

4

2 に答える 2

4

これは私のプラグインで使用するものです:

        /* add jquery ui datepicker and theme */
        global $wp_scripts;
        wp_enqueue_script('jquery-ui-datepicker');
        $ui = $wp_scripts->query('jquery-ui-core');
        $url = "https://ajax.aspnetcdn.com/ajax/jquery.ui/{$ui->ver}/themes/redmond/jquery.ui.all.css";
        wp_enqueue_style('jquery-ui-redmond', $url, false, $ui->ver);

私が使用しているCDNには、選択可能なすべてのテーマもあります。

次に、フォームページで次を使用します。

        <label for="date_of" style="width: 135px !important;">Presentation Date
        <?php echo '<img src="'.$this->pluginurl.'images/help.png"
        title="Enter the Presentation date here." />';?>
        </label>
        <input type="text" id="date_of" name="date_of" value="" />

とで:

    jQuery(document).ready(function() {
       jQuery('#date_of').datepicker({
          dateFormat: 'yy-mm-dd'
       });
    });

document.ready関数を含むregister/enqueue_scriptを使用してplugin.jsファイルをロードします。

お役に立てれば。

于 2012-11-21T21:25:44.820 に答える
0

このエラーは、この関数が見つからないことを意味します。つまり、1 - スクリプトが見つからない、または 2 - ロードされる前にスクリプトを実行しようとしています..

私が理解できなかったことが1つあります-このコードはプラグインのどこに行きますか??

とにかく、最初に、プラグインをテストする THEME にアクション (テンプレート タグ) があることを確認してwp_head()からwp_head()、アクションをフッターに移動してみてください ...

    function my_custom_datetime_script() {  // ADDING THE JQUERY SCRIPT
    ?>
    <script type="text/javascript">
        jQuery(document).ready(function() {
            jQuery("#calendar1, #calendar2").calendar();
            jQuery("#calendar1_alert").click(function(){alert(popUpCal.parseDate(jQuery('#calendar1').val()))});
        });
    </script>
    <?php   
    }

add_action('wp_footer','my_custom_datetime_script');
于 2012-08-27T13:30:55.663 に答える