WC_Product_Variable::__construct PHP Method

__construct() public method

Merges variable product data into the parent object.
public __construct ( integer | WC_Product | object $product )
$product integer | WC_Product | object Product to init.
    public function __construct($product = 0)
    {
        $this->data = array_merge($this->data, $this->extra_data);
        parent::__construct($product);
    }

Usage Example

 /**
  * Create a simple subscription product object.
  *
  * @access public
  * @param mixed $product
  */
 public function __construct($product)
 {
     parent::__construct($product);
     $this->product_type = 'variable-subscription';
     // Load all meta fields
     $this->product_custom_fields = get_post_meta($this->id);
     // Convert selected subscription meta fields for easy access
     if (!empty($this->product_custom_fields['_subscription_price'][0])) {
         $this->subscription_price = $this->product_custom_fields['_subscription_price'][0];
     }
     if (!empty($this->product_custom_fields['_subscription_sign_up_fee'][0])) {
         $this->subscription_sign_up_fee = $this->product_custom_fields['_subscription_sign_up_fee'][0];
     }
     if (!empty($this->product_custom_fields['_subscription_period'][0])) {
         $this->subscription_period = $this->product_custom_fields['_subscription_period'][0];
     }
     if (!empty($this->product_custom_fields['_subscription_period_interval'][0])) {
         $this->subscription_period_interval = $this->product_custom_fields['_subscription_period_interval'][0];
     }
     if (!empty($this->product_custom_fields['_subscription_length'][0])) {
         $this->subscription_length = $this->product_custom_fields['_subscription_length'][0];
     }
     if (!empty($this->product_custom_fields['_subscription_trial_length'][0])) {
         $this->subscription_trial_length = $this->product_custom_fields['_subscription_trial_length'][0];
     }
     if (!empty($this->product_custom_fields['_subscription_trial_period'][0])) {
         $this->subscription_trial_period = $this->product_custom_fields['_subscription_trial_period'][0];
     }
     $this->limit_subscriptions = !isset($this->product_custom_fields['_subscription_limit'][0]) ? 'no' : $this->product_custom_fields['_subscription_limit'][0];
     add_filter('woocommerce_add_to_cart_handler', array(&$this, 'add_to_cart_handler'), 10, 2);
 }
All Usage Examples Of WC_Product_Variable::__construct