• Resolved Gen? Yaz?l?mc?

    (@gencyazilimci)


    i want to do: add extra price to category based products

    Problem: The code below does not work for products with variations.

    add_filter('woocommerce_get_price', 'woocommerce_change_price_by_addition', 10, 2);
    
    // here is the problem
    add_filter( 'woocommerce_variable_sale_price_html', 'woocommerce_change_price_by_addition', 10, 2 );
    add_filter( 'woocommerce_variable_price_html', 'woocommerce_change_price_by_addition', 10, 2 );
    // here is the problem - end
    
    function woocommerce_change_price_by_addition($price, $product) {
        // Product ID
        $product_id = isset($product->id) ? $product->id : 0;
        $product_categories_id = isset($product->category_ids) ? $product->category_ids : array();
    
        $extra_amount = 0;
        if(!empty($product_categories_id))
        {
            foreach($product_categories_id as $cat_id)
            {
                $category_extra_price = (float)get_term_meta($cat_id, 'extra_price', true);
    
                if ($category_extra_price && is_numeric($category_extra_price)) 
                {
                    $extra_amount = $extra_amount + $category_extra_price;
                }
            }
        }
        if ($product_id) {
            //get the product
            $product = wc_get_product($product_id);
        
            // change the price by adding the 35
            $price = ($price + $extra_amount);
            
            //return the new price
            return  $price;
        }
    }

    I got the above code from this link https://stackoverflow.com/a/69625481/12118468

    image https://i.stack.imgur.com/3IT2k.png

Viewing 3 replies - 1 through 3 (of 3 total)
Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘WooCommerce add extra price to products by each category’ is closed to new replies.