CMB2 Documentation
  • Package
  • Class
  • Tree
  • Deprecated
  • Todo
  • Hooks
  • Download Docs
  • Github

Packages

  • CMB2
  • Demo
    • CMB2
  • None
  • Tests
    • CMB2

Classes

  • CMB2
  • CMB2_Ajax
  • CMB2_Base
  • CMB2_Bootstrap_2101
  • CMB2_Boxes
  • CMB2_Display_Checkbox
  • CMB2_Display_Colorpicker
  • CMB2_Display_File
  • CMB2_Display_File_List
  • CMB2_Display_Multicheck
  • CMB2_Display_oEmbed
  • CMB2_Display_Select
  • CMB2_Display_Taxonomy_Multicheck
  • CMB2_Display_Taxonomy_Radio
  • CMB2_Display_Text_Date
  • CMB2_Display_Text_Date_Timezone
  • CMB2_Display_Text_Money
  • CMB2_Display_Text_Time
  • CMB2_Display_Text_Url
  • CMB2_Display_Textarea
  • CMB2_Display_Textarea_Code
  • CMB2_Field
  • CMB2_Field_Display
  • CMB2_Hookup
  • CMB2_Hookup_Base
  • CMB2_Integration_Box
  • CMB2_JS
  • CMB2_Option
  • CMB2_Options
  • CMB2_Options_Hookup
  • CMB2_REST
  • CMB2_REST_Controller
  • CMB2_REST_Controller_Boxes
  • CMB2_REST_Controller_Fields
  • CMB2_Sanitize
  • CMB2_Show_Filters
  • CMB2_Type_Base
  • CMB2_Type_Checkbox
  • CMB2_Type_Colorpicker
  • CMB2_Type_Counter_Base
  • CMB2_Type_File
  • CMB2_Type_File_Base
  • CMB2_Type_File_List
  • CMB2_Type_Multi_Base
  • CMB2_Type_Multicheck
  • CMB2_Type_Oembed
  • CMB2_Type_Picker_Base
  • CMB2_Type_Radio
  • CMB2_Type_Select
  • CMB2_Type_Select_Timezone
  • CMB2_Type_Taxonomy_Base
  • CMB2_Type_Taxonomy_Multicheck
  • CMB2_Type_Taxonomy_Multicheck_Hierarchical
  • CMB2_Type_Taxonomy_Radio
  • CMB2_Type_Taxonomy_Radio_Hierarchical
  • CMB2_Type_Taxonomy_Select
  • CMB2_Type_Taxonomy_Select_Hierarchical
  • CMB2_Type_Text
  • CMB2_Type_Text_Date
  • CMB2_Type_Text_Datetime_Timestamp
  • CMB2_Type_Text_Datetime_Timestamp_Timezone
  • CMB2_Type_Text_Time
  • CMB2_Type_Textarea
  • CMB2_Type_Textarea_Code
  • CMB2_Type_Title
  • CMB2_Type_Wysiwyg
  • CMB2_Types
  • CMB2_Utils

Hooks

  • Hook Reference
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 
<?php
/**
 * CMB text_datetime_timestamp_timezone field type
 *
 * @since  2.2.2
 *
 * @category  WordPress_Plugin
 * @package   CMB2
 * @author    CMB2 team
 * @license   GPL-2.0+
 * @link      https://cmb2.io
 */
class CMB2_Type_Text_Datetime_Timestamp_Timezone extends CMB2_Type_Base {

    public function render( $args = array() ) {
        $field = $this->field;

        $value = $field->escaped_value();
        if ( empty( $value ) ) {
            $value = $field->get_default();
        }

        $args = wp_parse_args( $this->args, array(
            'value'                   => $value,
            'desc'                    => $this->_desc( true ),
            'text_datetime_timestamp' => array(),
            'select_timezone'         => array(),
        ) );

        $args['value'] = $value;
        if ( is_array( $args['value'] ) ) {
            $args['value'] = '';
        }

        $datetime = maybe_unserialize( $args['value'] );
        $value = $tzstring = '';

        if ( $datetime && $datetime instanceof DateTime ) {
            $tz       = $datetime->getTimezone();
            $tzstring = $tz->getName();
            $value    = $datetime->getTimestamp();
        }

        $timestamp_args = wp_parse_args( $args['text_datetime_timestamp'], array(
            'desc'     => '',
            'value'    => $value,
            'rendered' => true,
        ) );
        $datetime_timestamp = $this->types->text_datetime_timestamp( $timestamp_args );

        $timezone_select_args = wp_parse_args( $args['select_timezone'], array(
            'class'    => 'cmb2_select cmb2-select-timezone',
            'name'     => $this->_name( '[timezone]' ),
            'id'       => $this->_id( '_timezone' ),
            'options'  => wp_timezone_choice( $tzstring ),
            'desc'     => $args['desc'],
            'rendered' => true,
        ) );
        $select = $this->types->select( $timezone_select_args );

        return $this->rendered(
            $datetime_timestamp . "\n" . $select
        );
    }

}
CMB2 Documentation API documentation generated by ApiGen