WC_Abstract_Order::set_status( string $new_status )
Set order status.
Description Description
Parameters Parameters
- $new_status
-
(Required) Status to change the order to. No internal wc- prefix is required.
Return Return
(array) details of change
Source Source
File: includes/abstracts/abstract-wc-order.php
public function set_status( $new_status ) {
$old_status = $this->get_status();
$new_status = 'wc-' === substr( $new_status, 0, 3 ) ? substr( $new_status, 3 ) : $new_status;
// If setting the status, ensure it's set to a valid status.
if ( true === $this->object_read ) {
// Only allow valid new status.
if ( ! in_array( 'wc-' . $new_status, $this->get_valid_statuses(), true ) && 'trash' !== $new_status ) {
$new_status = 'pending';
}
// If the old status is set but unknown (e.g. draft) assume its pending for action usage.
if ( $old_status && ! in_array( 'wc-' . $old_status, $this->get_valid_statuses(), true ) && 'trash' !== $old_status ) {
$old_status = 'pending';
}
}
$this->set_prop( 'status', $new_status );
return array(
'from' => $old_status,
'to' => $new_status,
);
}
Changelog Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |