if ( $is_stepper_style && ! Utils::has_visible_quantity_input( $product_html ) ) { $is_stepper_style = false; } if ( $is_stepper_style ) { $product_name = $product->get_name(); $product_html = $this->add_steppers( $product_html, $product_name ); $product_html = $this->add_stepper_classes_to_add_to_cart_form_input( $product_html ); } $classes_and_styles = StyleAttributesUtils::get_classes_and_styles_by_attributes( $attributes, array(), array( 'extra_classes' ) ); $product_classname = $is_descendent_of_single_product_block ? 'product' : ''; $classes = implode( ' ', array_filter( array( 'wp-block-add-to-cart-form wc-block-add-to-cart-form', esc_attr( $classes_and_styles['classes'] ), esc_attr( $product_classname ), $is_stepper_style ? 'wc-block-add-to-cart-form--stepper' : 'wc-block-add-to-cart-form--input', ) ) ); $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classes, 'style' => esc_attr( $classes_and_styles['styles'] ), ) ); $form = sprintf( '
%3$s
', $wrapper_attributes, $is_stepper_style ? 'data-wp-interactive="woocommerce/add-to-cart-form"' : '', $product_html ); $product = $previous_product; return $form; } /** * Use current url as the add to cart form action. * * @return string The current URL. */ public function add_to_cart_form_action() { global $wp; return home_url( add_query_arg( $_GET, $wp->request ) ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended } }