2016-08-31 10 views
1

woocommerceにカスタムフィールドを追加しました。写真のフレームの余分な価格があります。今では画像の価格が10 $で、ユーザーが追加するフレームを5 $総額は15 $となります。カート&チェックアウトでwoocomerce製品価格でカスタム価格を追加する

他の商品を追加すると、カスタムフレーム価格が追加されます。 例えば製品1価格は以下のとおりです。10 $とそれにslectedフレームれる:フレーム1玉葉価格は、その製品の15 $ことと製品2価格10 $を追加し、選択された場合になりますので、合計5 $ですその価格とフレーム2は、その製品の6 $の合計は、しかし、grandtotalは31 $
私がやろうとしているものに近いソリューションとなります16 $れるだろうです:

add_filter('woocommerce_get_discounted_price', 'calculate_discounted_price', 10, 2); 

// Display the line total price 
add_filter('woocommerce_cart_item_subtotal', 'display_discounted_price', 10, 2); 

function calculate_discounted_price($price, $values) 
{ 

    $price += $_SESSION['framed_price']; 
    return $price; 

} 
    } 

私はtを保管しています彼はセッションの値をフレームに入れ、ユーザーがフレームをクリックするたびに更新されます。これはajaxを使って、すべてが正常に機能するまで更新されます。私も値を取得しています。
この機能は、基本的に追加された商品を繰り返し、最後のフレーム価格をカート内のすべての商品に追加します。
カスタムフレーム価格で製品価格を追加するにはどうすればよいですか?

答えて

1

が、私はこの答えを見つけ、それが問題を解決します:

// Change the line total price 
add_filter('woocommerce_get_discounted_price', 'calculate_discounted_price', 10, 2); 
// Display the line total price 
add_filter('woocommerce_cart_item_subtotal', 'display_discounted_price', 10, 2); 

function calculate_discounted_price($price, $values) { 
    // You have all your data on $values; 
    $price += 10; 
    return $price; 
} 

// wc_price => format the price with your own currency 
function display_discounted_price($values, $item) { 
    return wc_price($item[ 'line_total' ]); 
} 

参考:woocommerce, how can i add additional cost in cart product total price?

+0

このコードは、カスタムの価格を設定するための素晴らしい作品 - 私は、製品の小計とカート壮大ながらということに気付いています合計が正しい場合、カート小計には依然としてデフォルト価格が表示されます。混乱を避けるために更新することもできますか? –

+0

ちょっと@LouisW残念私は長い時間からワードプレスで作業を残し、私はいくつかの問題があったことを覚えて私は後でそれをソート –

関連する問題