Automattic\WooCommerce\Blocks\BlockTypes
ProductButton::is_product_purchasable
Check if a product is purchasable.
Method of the class: ProductButton{}
No Hooks.
Returns
true|false. The product is purchasable.
Usage
// private - for code of main (parent) class only $result = $this->is_product_purchasable( $product );
- $product(WC_Product) (required)
- The product.
ProductButton::is_product_purchasable() ProductButton::is product purchasable code WC 10.8.1
private function is_product_purchasable( $product ) {
if ( $product->is_type( ProductType::GROUPED ) ) {
$grouped_product_ids = $product->get_children();
if ( ! empty( $grouped_product_ids ) ) {
_prime_post_caches( $grouped_product_ids );
}
foreach ( $grouped_product_ids as $child ) {
$child_product = wc_get_product( $child );
if ( ! $child_product instanceof \WC_Product ) {
continue;
}
if ( $child_product->is_purchasable() && $child_product->is_in_stock() ) {
return true;
}
}
return false;
}
return $product->is_purchasable() && $product->is_in_stock();
}