public static function type_interval($field, $container = null, $output = 'string', $html = array()) { $field = self::parse($field, $container); if (is_scalar($field)) { return false; } $min = clone $field; $min->_id[] = 'min'; $min->_name[] = 'min'; $min->type = 'date'; $min->{'data-type'} = 'min'; $min->value = ''; $min->class = array(); $min->placeholder = esc_attr__('yyyy-mm-dd', self::plugin); $max = clone $field; $max->_id[] = 'max'; $max->_name[] = 'max'; $max->type = 'date'; $max->{'data-type'} = 'max'; $max->class = array(); $max->value = ''; $max->placeholder = esc_attr__('yyyy-mm-dd', self::plugin); $interval = clone $field; $interval->_id[] = 'name'; $interval->_name[] = 'name'; $interval->type = 'dropdown'; $interval->class = array(); $interval->{'data-placeholder'} = esc_attr__('Select an Interval', self::plugin); $interval->options = Dates::get_intervals(); $content[] = self::type_dropdown($interval, null, 'string'); $content[] = self::type_date($min, null, 'string'); $content[] = '<div class="dashicons dashicons-arrow-right-alt2 dashicon-date" style="display: inline-block;"></div>'; $content[] = self::type_date($max, null, 'string'); if (is_a($container, __CLASS__)) { $html[] = $container->build($content); } else { $html = $content; } if ('string' === $output) { return implode("\r\n", $html); } else { return $html; } }