trAvis - MANAGER
Edit File: class.datepicker.php
<?php /** * @package mw-wp-form * @author websoudan * @license GPL-2.0+ */ /** * MW_WP_Form_Field_Datepicker */ class MW_WP_Form_Field_Datepicker extends MW_WP_Form_Abstract_Form_Field { /** * Types of form type. * input|select|button|input_button|error|other. * * @var string */ public $type = 'input'; /** * Set shortcode_name and display_name. * Overwrite required for each child class. * * @return array */ protected function set_names() { return array( 'shortcode_name' => 'mwform_datepicker', 'display_name' => __( 'Datepicker', 'mw-wp-form' ), ); } /** * Set default attributes. * * @return array */ protected function set_defaults() { return array( 'name' => '', 'id' => null, 'class' => null, 'size' => 30, 'js' => '', 'value' => '', 'placeholder' => null, 'show_error' => 'true', ); } /** * Callback of add shortcode for input page. * * @return string */ protected function input_page() { global $wp_scripts; $ui = $wp_scripts->query( 'jquery-ui-core' ); wp_enqueue_style( 'jquery.ui', '//ajax.googleapis.com/ajax/libs/jqueryui/' . $ui->ver . '/themes/smoothness/jquery-ui.min.css', array(), $ui->ver ); wp_enqueue_script( 'jquery-ui-datepicker' ); $Json_Parser = new MW_WP_Form_Json_Parser( $this->atts['js'] ); $this->atts['js'] = $Json_Parser->create_json(); $js = json_decode( $this->atts['js'], true ); // jsの指定がないときはデフォルトで年付き変更機能追加 if ( empty( $js ) ) { $js = array( 'showMonthAfterYear' => 'true', 'changeYear' => 'true', 'changeMonth' => 'true', ); } $translate_datepicker = apply_filters( 'mwform_translate_datepicker_' . $this->form_key, true ); if ( $translate_datepicker && 'ja' === get_locale() ) { $js = array_merge( array( 'yearSuffix' => '年', 'dateFormat' => 'yy年mm月dd日', 'dayNames' => array( '日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日' ), 'dayNamesMin' => array( '日', '月', '火', '水', '木', '金', '土' ), 'dayNamesShort' => array( '日曜', '月曜', '火曜', '水曜', '木曜', '金曜', '土曜' ), 'monthNames' => array( '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月' ), 'monthNamesShort' => array( '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月' ), ), $js ); } $this->atts['js'] = json_encode( $js ); $value = $this->Data->get_raw( $this->atts['name'] ); if ( is_null( $value ) ) { $value = $this->atts['value']; } $_ret = ''; $_ret .= $this->Form->datepicker( $this->atts['name'], array( 'id' => $this->atts['id'], 'class' => $this->atts['class'], 'size' => $this->atts['size'], 'js' => $this->atts['js'], 'value' => $value, 'placeholder' => $this->atts['placeholder'], ) ); if ( 'false' !== $this->atts['show_error'] ) { $_ret .= $this->get_error( $this->atts['name'] ); } return $_ret; } /** * Callback of add shortcode for confirm page. * * @return string */ protected function confirm_page() { $value = $this->Data->get_raw( $this->atts['name'] ); $_ret = esc_html( $value ); $_ret .= $this->Form->hidden( $this->atts['name'], $value ); return $_ret; } /** * Display tag generator dialog. * Overwrite required for each child class. * * @param array $options Options. */ public function mwform_tag_generator_dialog( array $options = array() ) { ?> <p> <strong>name<span class="mwf_require">*</span></strong> <?php $name = $this->get_value_for_generator( 'name', $options ); ?> <input type="text" name="name" value="<?php echo esc_attr( $name ); ?>" /> </p> <p> <strong>id</strong> <?php $id = $this->get_value_for_generator( 'id', $options ); ?> <input type="text" name="id" value="<?php echo esc_attr( $id ); ?>" /> </p> <p> <strong>class</strong> <?php $class = $this->get_value_for_generator( 'class', $options ); ?> <input type="text" name="class" value="<?php echo esc_attr( $class ); ?>" /> </p> <p> <strong>size</strong> <?php $size = $this->get_value_for_generator( 'size', $options ); ?> <input type="text" name="size" value="<?php echo esc_attr( $size ); ?>" /> </p> <p> <strong>JavaScript</strong> <?php $js = $this->get_value_for_generator( 'js', $options ); ?> <input type="text" name="js" value="<?php echo esc_attr( $js ); ?>" /> </p> <p> <strong><?php esc_html_e( 'Default value', 'mw-wp-form' ); ?></strong> <?php $value = $this->get_value_for_generator( 'value', $options ); ?> <input type="text" name="value" value="<?php echo esc_attr( $value ); ?>" /> </p> <p> <strong>placeholder</strong> <?php $placeholder = $this->get_value_for_generator( 'placeholder', $options ); ?> <input type="text" name="placeholder" value="<?php echo esc_attr( $placeholder ); ?>" /> </p> <p> <strong><?php esc_html_e( 'Display error', 'mw-wp-form' ); ?></strong> <?php $show_error = $this->get_value_for_generator( 'show_error', $options ); ?> <label><input type="checkbox" name="show_error" value="false" <?php checked( 'false', $show_error ); ?> /> <?php esc_html_e( 'Don\'t display error.', 'mw-wp-form' ); ?></label> </p> <?php } }