rtsb_name = esc_html__( 'Product add to cart', 'shopbuilder' ); $this->rtsb_base = 'rtsb-product-add-to-cart'; parent::__construct( $data, $args ); } /** * Widget Field * * @return array */ public function widget_fields() { return AddToCartSettings::widget_fields( $this ); } /** * Set Widget Keyword. * * @return array */ public function get_keywords() { return [ 'Cart' ] + parent::get_keywords(); } /** * Widget Field. * * @return void */ public function the_hooks() { $controllers = $this->get_settings_for_display(); add_filter( 'rtsb/module/flash_sale_countdown/show_counter', '__return_false', 99 ); $product = Fns::get_product(); $is_visible_qty = Fns::is_visible_qty_input( $product ); if ( ! empty( $controllers['quantity_style'] ) && $is_visible_qty ) { if ( in_array( $controllers['quantity_style'], [ 'style-1', 'style-2' ], true ) ) { add_action( 'woocommerce_before_quantity_input_field', [ $this, 'quantity_wrapper_start' ] ); add_action( 'woocommerce_after_quantity_input_field', [ $this, 'quantity_wrapper_end' ] ); } if ( in_array( $controllers['quantity_style'], [ 'style-3', 'style-4' ], true ) && $is_visible_qty ) { add_action( 'woocommerce_before_quantity_input_field', [ $this, 'quantity_wrapper_with_inner_border' ] ); add_action( 'woocommerce_after_quantity_input_field', [ $this, 'close_quantity_wrapper' ] ); } } if ( $this->is_edit_mode() ) { if ( class_exists( Rtwpvs\Controllers\Hooks::class ) ) { remove_filter( 'woocommerce_ajax_variationX_threshold', [ Rtwpvs\Controllers\Hooks::class, 'ajax_variation_threshold' ], 99 ); } add_filter( 'woocommerce_ajax_variation_threshold', [ $this, 'override_ajax_variation_threshold' ], 99 ); } } /** * Start quantity wrapper. * * @return void */ public function reset_hooks() { $controllers = $this->get_settings_for_display(); $product = Fns::get_product(); $is_visible_qty = Fns::is_visible_qty_input( $product ); if ( ! empty( $controllers['quantity_style'] ) && $is_visible_qty ) { if ( in_array( $controllers['quantity_style'], [ 'style-1', 'style-2' ], true ) ) { remove_action( 'woocommerce_before_quantity_input_field', [ $this, 'quantity_wrapper_start' ] ); remove_action( 'woocommerce_after_quantity_input_field', [ $this, 'quantity_wrapper_end' ] ); } if ( in_array( $controllers['quantity_style'], [ 'style-3', 'style-4' ], true ) && $is_visible_qty ) { remove_action( 'woocommerce_before_quantity_input_field', [ $this, 'quantity_wrapper_with_inner_border' ] ); remove_action( 'woocommerce_after_quantity_input_field', [ $this, 'close_quantity_wrapper' ] ); } } } /** * Start quantity wrapper. * * @return void */ public function quantity_wrapper_start() { $controllers = $this->get_settings_for_display(); ?>