WC_API_Resource::delete()
Delete a given resource
Метод класса: WC_API_Resource{}
Хуков нет.
Возвращает
Массив|WP_Error
.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->delete( $id, $type, $force );
- $id(int) (обязательный)
- the resource ID
- $type(строка) (обязательный)
- the resource post type, or customer
- $force(true|false)
- true to permanently delete resource, false to move to trash (not supported for customer)
По умолчанию: false
Список изменений
С версии 2.1 | Введена. |
Код WC_API_Resource::delete() WC API Resource::delete WC 7.7.2
protected function delete( $id, $type, $force = false ) { if ( 'shop_order' === $type || 'shop_coupon' === $type ) { $resource_name = str_replace( 'shop_', '', $type ); } else { $resource_name = $type; } if ( 'customer' === $type ) { $result = wp_delete_user( $id ); if ( $result ) { return array( 'message' => __( 'Permanently deleted customer', 'woocommerce' ) ); } else { return new WP_Error( 'woocommerce_api_cannot_delete_customer', __( 'The customer cannot be deleted', 'woocommerce' ), array( 'status' => 500 ) ); } } else { // delete order/coupon/product $result = ( $force ) ? wp_delete_post( $id, true ) : wp_trash_post( $id ); if ( ! $result ) { return new WP_Error( "woocommerce_api_cannot_delete_{$resource_name}", sprintf( __( 'This %s cannot be deleted', 'woocommerce' ), $resource_name ), array( 'status' => 500 ) ); } if ( $force ) { return array( 'message' => sprintf( __( 'Permanently deleted %s', 'woocommerce' ), $resource_name ) ); } else { $this->server->send_status( '202' ); return array( 'message' => sprintf( __( 'Deleted %s', 'woocommerce' ), $resource_name ) ); } } }