WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Платформа для конвертации и монетизации трафика
функция не описана

WC_Data::set_date_prop() protected WC 3.0.0

Sets a date prop whilst handling formatting and datetime objects.

{} Это метод класса: WC_Data{}

Хуков нет.

Возвращает

Null. Ничего.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->set_date_prop( $prop, $value );
$prop(строка) (обязательный)
Name of prop to set.
$value(строка/числоeger) (обязательный)
Value of the prop.

Список изменений

С версии 3.0.0 Введена.

Код WC_Data::set_date_prop() WC 4.7.1

<?php
protected function set_date_prop( $prop, $value ) {
	try {
		if ( empty( $value ) ) {
			$this->set_prop( $prop, null );
			return;
		}

		if ( is_a( $value, 'WC_DateTime' ) ) {
			$datetime = $value;
		} elseif ( is_numeric( $value ) ) {
			// Timestamps are handled as UTC timestamps in all cases.
			$datetime = new WC_DateTime( "@{$value}", new DateTimeZone( 'UTC' ) );
		} else {
			// Strings are defined in local WP timezone. Convert to UTC.
			if ( 1 === preg_match( '/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(Z|((-|\+)\d{2}:\d{2}))$/', $value, $date_bits ) ) {
				$offset    = ! empty( $date_bits[7] ) ? iso8601_timezone_to_offset( $date_bits[7] ) : wc_timezone_offset();
				$timestamp = gmmktime( $date_bits[4], $date_bits[5], $date_bits[6], $date_bits[2], $date_bits[3], $date_bits[1] ) - $offset;
			} else {
				$timestamp = wc_string_to_timestamp( get_gmt_from_date( gmdate( 'Y-m-d H:i:s', wc_string_to_timestamp( $value ) ) ) );
			}
			$datetime = new WC_DateTime( "@{$timestamp}", new DateTimeZone( 'UTC' ) );
		}

		// Set local timezone or offset.
		if ( get_option( 'timezone_string' ) ) {
			$datetime->setTimezone( new DateTimeZone( wc_timezone_string() ) );
		} else {
			$datetime->set_utc_offset( wc_timezone_offset() );
		}

		$this->set_prop( $prop, $datetime );
	} catch ( Exception $e ) {} // @codingStandardsIgnoreLine.
}