WC_Product_Variable::sync
Sync a variable product with its children. These sync functions sync upwards (from child to parent) when the variation is saved.
Method of the class: WC_Product_Variable{}
Hooks from the method
Returns
WC_Product. Synced product object.
Usage
$result = WC_Product_Variable::sync( $product, $save );
- $product(WC_Product|int) (required)
- Product object or ID for which you wish to sync.
- $save(true|false)
- If true, the product object will be saved to the DB before returning it.
Default: true
WC_Product_Variable::sync() WC Product Variable::sync code WC 10.4.3
public static function sync( $product, $save = true ) {
if ( ! is_a( $product, 'WC_Product' ) ) {
$product = wc_get_product( $product );
}
if ( is_a( $product, 'WC_Product_Variable' ) ) {
$data_store = WC_Data_Store::load( 'product-' . $product->get_type() );
$data_store->sync_price( $product );
$data_store->sync_stock_status( $product );
self::sync_attributes( $product ); // Legacy update of attributes.
do_action( 'woocommerce_variable_product_sync_data', $product );
if ( $save ) {
$product->save();
}
wc_do_deprecated_action(
'woocommerce_variable_product_sync',
array(
$product->get_id(),
$product->get_visible_children(),
),
'3.0',
'woocommerce_variable_product_sync_data, woocommerce_new_product or woocommerce_update_product'
);
}
return $product;
}