get_actual_obj(); if ($WOOCS) { $GLOBALS['WOOCS'] = $WOOCS; add_action('init', array($WOOCS, 'init'), 11); } } $this->woocs = $WOOCS; $currency_code = $WOOCS->default_currency;// phpcs:ignore if ( $currency_code !== $config->get_feed_currency() ) { $WOOCS->set_currency( $config->get_feed_currency() );// phpcs:ignore } $this->is_multiple_allowed = get_option('woocs_is_multiple_allowed', 0); // WooCommerce Out of Stock visibility override if ( !$config->get_outofstock_visibility() ) { return; } // just return false as wc expect the value should be 'yes' with eqeqeq (===) operator. add_filter( 'pre_option_woocommerce_hide_out_of_stock_items', '__return_false', 999 ); } /** * Restore currency after feed generation * * @param \CTXFeed\V5\Utility\Config $config feed config array. */ public function restore_currency( $config ) { global $WOOCS;// phpcs:ignore $currency_code = $WOOCS->default_currency;// phpcs:ignore if ( $currency_code !== $config->get_feed_currency() ) { $WOOCS->set_currency( $currency_code );// phpcs:ignore } // WooCommerce Out of Stock visibility override if ( !$config->get_outofstock_visibility() ) { return; } remove_filter( 'pre_option_woocommerce_hide_out_of_stock_items', '__return_false', 999 ); } /** * Get product link with currency suffix. * * @param string $link product link. * @param \WC_Product $product product object. * @param \CTXFeed\V5\Utility\Config $config config object. * @return string */ public function get_product_link_with_suffix( $link, $product, $config ) { // phpcs:ignore $jointer = substr( $link, - 1 ) == '/' ? '?' : '&'; $currency_suffix = $jointer . 'currency=' . $config->get_feed_currency(); $link .= $currency_suffix; return $link; } /** * Currency Convert for Currency Switcher * * @param int $price product price. * @param \WC_Product $product product object. * @param \CTXFeed\V5\Utility\Config $config config object. * @param bool $with_tax price with tax or without tax. * @param string $price_type price type regular_price, price, sale_price. * @return int */ public function get_converted_price( $price, $product, $config, $with_tax, $price_type ) {// phpcs:ignore if( $this->is_multiple_allowed != 1 ){ $price = $this->woocs->raw_woocommerce_price($price, $product); } return $price; } }