WC_Admin_Post_Types::maybe_update_stock_status
Apply product type constraints to stock status.
Метод класса: WC_Admin_Post_Types{}
Хуков нет.
Возвращает
WC_Product. The supplied product, or the synced product if it was a variable product.
Использование
// private - только в коде основоного (родительского) класса $result = $this->maybe_update_stock_status( $product, $stock_status );
- $product(WC_Product) (обязательный)
- The product whose stock status will be adjusted.
- $stock_status(строка|null) (обязательный)
- The stock status to use for adjustment, or null if no new stock status has been supplied in the request.
Код WC_Admin_Post_Types::maybe_update_stock_status() WC Admin Post Types::maybe update stock status WC 11.1.0
private function maybe_update_stock_status( $product, $stock_status ) {
if ( $product->is_type( ProductType::EXTERNAL ) ) {
// External products are always in stock.
$product->set_stock_status( ProductStockStatus::IN_STOCK );
} elseif ( isset( $stock_status ) ) {
if ( $product->is_type( ProductType::VARIABLE ) && ! $product->get_manage_stock() ) {
// Stock status is determined by children.
foreach ( $product->get_children() as $child_id ) {
$child = wc_get_product( $child_id );
if ( ! $product->get_manage_stock() ) {
$child->set_stock_status( $stock_status );
$child->save();
}
}
$product = WC_Product_Variable::sync( $product, false );
} else {
$product->set_stock_status( $stock_status );
}
}
return $product;
}