Automattic\WooCommerce\Internal\DataStores\Orders
OrdersTableDataStore::after_meta_change
Perform after meta change operations, including updating the date_modified field, clearing caches and applying changes.
Method of the class: OrdersTableDataStore{}
No Hooks.
Returns
true|false. True if changes were applied, false otherwise.
Usage
// protected - for code of main (parent) or child class $result = $this->after_meta_change( $order, $meta );
- $order(WC_Abstract_Order) (required) (passed by reference — &)
- Order object.
- $meta(WC_Meta_Data) (required)
- Metadata object.
OrdersTableDataStore::after_meta_change() OrdersTableDataStore::after meta change code WC 10.7.0
protected function after_meta_change( &$order, $meta ) {
method_exists( $meta, 'apply_changes' ) && $meta->apply_changes();
// Prevent this happening multiple time in same request.
if ( $this->should_save_after_meta_change( $order, $meta ) ) {
$order->set_date_modified( current_time( 'mysql' ) );
$order->save();
return true;
} else {
$order_cache = wc_get_container()->get( OrderCache::class );
$order_cache->remove( $order->get_id() );
$this->clear_cached_data( array( $order->get_id() ) );
}
return false;
}