WC_Order::set_status()publicWC 3.0.0

Set order status.

Метод класса: WC_Order{}

Хуки из метода

Возвращает

Массив.

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

$WC_Order = new WC_Order();
$WC_Order->set_status( $new_status, $note, $manual_update );
$new_status(строка) (обязательный)
Status to change the order to. No internal wc- prefix is required.
$note(строка)
Optional note to add.
По умолчанию: ''
$manual_update(true|false)
Is this a manual order status change?.
По умолчанию: false

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

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

Код WC_Order::set_status() WC 8.7.0

public function set_status( $new_status, $note = '', $manual_update = false ) {
	$result = parent::set_status( $new_status );

	if ( true === $this->object_read && ! empty( $result['from'] ) && $result['from'] !== $result['to'] ) {
		$this->status_transition = array(
			'from'   => ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $result['from'],
			'to'     => $result['to'],
			'note'   => $note,
			'manual' => (bool) $manual_update,
		);

		if ( $manual_update ) {
			do_action( 'woocommerce_order_edit_status', $this->get_id(), $result['to'] );
		}

		$this->maybe_set_date_paid();
		$this->maybe_set_date_completed();
	}

	return $result;
}