????
Current Path : /home/webcloude/www/wp-content/plugins/woocommerce/src/Blocks/Utils/ |
Current File : /home/webcloude/www/wp-content/plugins/woocommerce/src/Blocks/Utils/ProductAvailabilityUtils.php |
<?php declare(strict_types=1); namespace Automattic\WooCommerce\Blocks\Utils; use Automattic\WooCommerce\Blocks\Templates\ProductStockIndicator; use Automattic\WooCommerce\Enums\ProductType; /** * Utility functions for product availability. */ class ProductAvailabilityUtils { /** * Get product availability information. * * @param \WC_Product $product Product object. * @return string[] The product availability class and text. */ public static function get_product_availability( $product ) { $product_availability = array( 'availability' => '', 'class' => '', ); if ( ! $product ) { return $product_availability; } // If the product is a variable product, check if it has any available variations. // We will show a custom availability message if it does. if ( $product->get_type() === ProductType::VARIABLE ) { $available_variations = $product->get_available_variations(); if ( empty( $available_variations ) && false !== $available_variations ) { $product_availability['availability'] = __( 'This product is currently out of stock and unavailable.', 'woocommerce' ); $product_availability['class'] = 'out-of-stock'; } } else { $product_availability = $product->get_availability(); } /** * Filters the product availability information. * * @since 9.7.0 * @param array $product_availability The product availability information. */ return apply_filters( 'woocommerce_product_availability', $product_availability ); } }