/** * Sets $pre_update_stock_status to the stock status of a product * * As of WC 2.4.0 it is harder to obtain the stock status for variables so have saved this to post meta * making it easily retrievable later on * * @access public * @return void */ public function set_pre_update_stock_status() { if ($this->product->is_type('simple')) { $this->pre_update_stock_status = array($this->product->id => $this->product->is_in_stock() ? 'instock' : 'outofstock'); } elseif ($this->product->is_type('variable')) { $wcwl_woocommerce_version = wcwl_get_woocommerce_version_number(); $stock_status = array(); foreach ($this->product->get_available_variations() as $variation) { if (version_compare($wcwl_woocommerce_version, '2.4.0', '>=')) { $stock_status[$variation['variation_id']] = get_post_meta($variation['variation_id'], 'wcwl_variation_is_in_stock', true); } else { $stock_status[$variation['variation_id']] = $variation['is_in_stock'] ? 'instock' : 'outofstock'; } } $this->pre_update_stock_status = $stock_status; } }
* * @return void */ function wcwl_woocommerce_version_notice() { ?> <div class="error"> <p><?php _e('WooCommerce Waitlist has been deactivated. This extension is not available with your version of WooCommerce. Please install and activate WooCommerce version 2.0 or higher.', 'woocommerce-waitlist'); ?> </p> </div> <?php } // Check the version of WooCommerce is at least 2.1 before loading our plugin $wcwl_woocommerce_version = wcwl_get_woocommerce_version_number(); if ($wcwl_woocommerce_version == false || version_compare($wcwl_woocommerce_version, '2.1.0', '<')) { global $pagenow; if ($pagenow == 'plugins.php') { add_action('admin_notices', 'wcwl_woocommerce_version_notice'); } deactivate_plugins(plugin_dir_path(__FILE__) . 'woocommerce-waitlist.php'); } else { require_once 'definitions.php'; if (is_admin()) { if (!class_exists('Pie_WCWL_Custom_Tab')) { require_once 'classes/class-pie-wcwl-custom-admin-tab.php'; } if (!class_exists('Pie_WCWL_Admin_UI')) { require_once 'classes/class-pie-wcwl-admin-ui.php'; }