Forum Replies Created

Viewing 1 replies (of 1 total)
  • I had the same problem and solved it adding the following code.
    Pretty much the same as the previos hotfix but changed the filter hook signature and used $POST[‘variation_id’] to capture the variation in case the product is variable.

    Hope it works for you guys!

    /**
     * Hotfix for Version 4.6.1 to prevent adding variable products with no variation to cart.
     * @return Boolean
     *
     *
     * https://wordpress.org/support/topic/order-placed-without-variations/
     *
     */
    function woo_hotfix_4_6_1( $passed, $product_id, $quantity ) {
    
    	$product = wc_get_product( $product_id );
    	
    	// Prevent product from being added to cart if no variation_id found in $POST.
    	if ( empty( $_POST['variation_id']) && $product->is_type( 'variable' ) ) {
    
    		$url          = get_permalink( $product_id );
    		$product_name = $product->get_name();
    
    		/* translators: %1$s: Product link, %2$s: Product title, %3$s: Product name. */
    		wc_add_notice( sprintf( __( 'Por favor seleccione un opcion del producto visitando: <a href="%1$s" title="%2$s">%3$s</a>.', 'woocommerce' ), esc_url( $url ), esc_html( $product_name ), esc_html( $product_name ) ), 'error' );
    
    		$passed = false;
    	}
    
    	return $passed;
    }
    add_filter( 'woocommerce_add_to_cart_validation', 'woo_hotfix_4_6_1', 10, 5 );
    • This reply was modified 3 years, 5 months ago by lucasnatoli.
Viewing 1 replies (of 1 total)