Automattic\WooCommerce\Internal\Fulfillments
FulfillmentsController::delete_hpos_order_fulfillment_meta
Delete fulfillment status meta from HPOS meta table.
Method of the class: FulfillmentsController{}
No Hooks.
Returns
null. Nothing (null).
Usage
// private - for code of main (parent) class only $result = $this->delete_hpos_order_fulfillment_meta( $order_ids ): void;
- $order_ids(array
) - Array of order IDs to delete fulfillment status meta for.
Default: array()
FulfillmentsController::delete_hpos_order_fulfillment_meta() FulfillmentsController::delete hpos order fulfillment meta code WC 10.3.3
private function delete_hpos_order_fulfillment_meta( $order_ids = array() ): void {
global $wpdb;
// Check if HPOS meta table exists.
$table_name = $wpdb->prefix . 'wc_orders_meta';
if ( $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $table_name ) ) !== $table_name ) {
return;
}
if ( ! empty( $order_ids ) ) {
$order_params = array_merge( array( '_fulfillment_status' ), $order_ids );
$wpdb->query(
$wpdb->prepare(
"DELETE FROM {$wpdb->prefix}wc_orders_meta
WHERE meta_key = %s
AND order_id IN (" . implode( ',', array_fill( 0, count( $order_ids ), '%d' ) ) . ')',
...$order_params
)
);
} else {
$wpdb->query(
$wpdb->prepare(
"DELETE FROM {$wpdb->prefix}wc_orders_meta
WHERE meta_key = %s",
'_fulfillment_status'
)
);
}
}