Простой аукцион Woocommerce: увеличьте окончательную цену на 10% - PullRequest
0 голосов
/ 11 июня 2019

Я хочу добиться этого: Когда аукцион заканчивается, пользователь нажимает «Оплатить сейчас», товар добавляется в корзину пользователя, но окончательная цена (например, $ 50) увеличивается на 10%. Цель состоит в том, чтобы увеличить окончательную цену аукциона на 10%, победитель должен заплатить на 10% больше.

Я пытался увеличить с помощью «Динамического ценообразования и скидок WooCommerce от RightPress», ориентируясь на продукты с метаданными «_auction_start_price» - не повезло. Также я попробовал с этим кодом:

function before_calculate_totals( $cart  ) {
 if ( is_admin() && ! defined( 'DOING_AJAX' ) ) {
 return;
 }
 // Iterate through each cart item
 foreach ( $cart->get_cart() as $cart_item ) {
        $product_id = $cart_item['product_id'];
        $product_price = $cart_item['data']->get_price(); // get the price
        $meta = get_post_meta($product_id, '_auction_start_price', true);
        if ($meta > 0) {
             $new_price = $product_price+($product_price*0.1); // add 10% to price
        } else {
             $new_price = $product_price+100; 
        }



        $cart_item['data']->set_price(floatval($new_price)); // set new price
    }
}
add_action( 'woocommerce_before_calculate_totals', 'before_calculate_totals', 10, 1 );

Этот код работает с обычными простыми продуктами, но не с предметами аукциона.

У меня Woocommerce 3.0 +

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...