0
WordpressのWoocommerceで、必要な条件に基づいてプログラムの価格をプログラムで更新しています。以下は簡単な例です。私はそれを表示し、次にカートに追加するだけでいいです。私の問題は、ユーザーがログアウトしてログインし直すと、カートが製品の全価格を返してしまうことです。価格を間違って更新しているか、カートに正しい割引価格が設定されているかどうかを確認する良い方法があります。ここでWoocommerceのアップデート価格はカートに保存されません。セッション
価格は、私がセッションに保存しなければならなかった、カートに追加]ボタンに移行しませんので、私はのfunctions.php
add_action('woocommerce_get_price_html','pricechanger');
function pricechanger($price){
$theid = get_the_ID();
$product = wc_get_product($theid);
$price = $product->price;
$price = //do something to the price here
//save the productid/price in session for cart
$_SESSION['pd']['$theid'] = $price;
add_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10, 2);
add_action('init', 'woocommerce_add_to_cart_action', 10);
add_action('init', 'woocommerce_checkout_action', 10);
return $price;
}
に持っているものです。私はその価格をカートに送る場所は見つけていません。
add_action('woocommerce_before_calculate_totals', 'woo_add_discount');
function woo_add_discount() {
if(isset($_SESSION['pd'])) {
foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) {
foreach($_SESSION['pd'] as $key => $val) {
if($cart_item['data']->id == $key){
$cart_item['data']->set_price($val);
}
}
}
}
}
お願いします。 ありがとう!
uggg私の唯一の解決策は、セッション終了時にカートを殺すことだと思われます。うまくいけば誰かがこれに対する答えを持っています!私は本当にあなたのカートのデータを保存する/ログアウトした後に価格をカスタマイズしたいと思う。 – Dyluck