Как я могу изменить цену продукта woocommerce на пользовательской странице, когда у меня есть некоторые параметры GET? - PullRequest
0 голосов
/ 19 июня 2019

У меня есть продукты WooCommerce с обычной ценой и продажной ценой.И у меня есть пользователи, которые пришли по специальному URL с параметром GET, например:

site.com/customcart/?emailsale=true

Как заставить обычных пользователей получать товары по обычной цене, а пользователи с параметром GET получают скидку?

Я уже пробовал это решение https://jeroensormani.com/disable-product-sale-prices-store-wide/

$order = wc_create_order();
$order->set_customer_id(is_numeric($args['customer_id']) ? absint($args['customer_id']) : 0);
$order->set_total(0, 'order_discount');
update_post_meta($order_id, '_payment_method', 'kassa-com');
update_post_meta($order_id, '_payment_method_title', 'Kassa.com');
$order->calculate_totals();

$posts = get_posts($args); //get product by user role

foreach ($posts as $post):
    setup_postdata($post);
    $product_id = get_the_ID();
    $_SESSION['product_id'] = $product_id;
    $price = round( get_post_meta(get_the_ID(), '_regular_price', TRUE) );
    $sale =  round( get_post_meta(get_the_ID(), '_price', TRUE) );
    $price_sale =  wc_format_sale_price($price, $sale) ;
    $product = wc_get_product($product_id);
    $price_html =  $product->get_price_html();
    echo $price_html;
endforeach;
wp_reset_postdata();
woocommerce_product_loop_end();

<form method="GET" action="<?php echo $order->get_checkout_payment_url(); ?>">
<input type="submit"  class="btn btn-pink right" value="Pay">
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...