woocommerce_variation_is_purchasable

Returns false if the product cannot be bought.

Description

apply_filters( 'woocommerce_variation_is_purchasable', (unknown) $this_variation_is_visible_parent_is_purchasable, (unknown) $instance ); 

Override abstract method so that: i) Disabled variations are not be purchasable by admins. ii) Enabled variations are not purchasable if the parent product is not purchasable.

Parameters (2)

0. $this_variation_is_visible_parent_is_purchasable (unknown)
The this variation is visible parent is purchasable.
1. $instance (unknown)
The instance.

Usage

To run the hook, copy the example below.
  1. $this_variation_is_visible_parent_is_purchasable = apply_filters( 'woocommerce_variation_is_purchasable', $this_variation_is_visible_parent_is_purchasable, $instance ); 
  2.  
  3. if ( !empty( $this_variation_is_visible_parent_is_purchasable ) ) { 
  4.  
  5. // everything has led up to this point... 
  6.  
  7.  
The following example is for adding a hook callback.
  1. // define the woocommerce_variation_is_purchasable callback 
  2. function filter_woocommerce_variation_is_purchasable( $this_variation_is_visible_parent_is_purchasable, $instance ) { 
  3. // make filter magic happen here... 
  4. return $this_variation_is_visible_parent_is_purchasable
  5. }; 
  6.  
  7. // add the filter 
  8. add_filter( 'woocommerce_variation_is_purchasable', 'filter_woocommerce_variation_is_purchasable', 10, 2 ); 
To remove a hook callback, use the example below.
  1. // remove the filter 
  2. remove_filter( 'woocommerce_variation_is_purchasable', 'filter_woocommerce_variation_is_purchasable', 10, 2 ); 

Defined (1)

The filter is defined in the following location(s).

/includes/class-wc-product-variation.php  
  1. return apply_filters( 'woocommerce_variation_is_purchasable', $this->variation_is_visible() && parent::is_purchasable(), $this );