Скидка для конкретного продукта и конкретного клиента в WooCommerce - PullRequest
1 голос
/ 19 мая 2019

Я пытаюсь изменить цену для одного зарегистрированного клиента на один продукт.При использовании этого кода цена меняется, но только на странице товара.Мне нужно, чтобы цена менялась везде (архив, страница товара, корзина и т. Д.)

Вот код, который я пытаюсь заставить работать.

add_filter( 'woocommerce_product_get_price', 'special_discount_for_product_cat_for_logged_in_customers', 10, 2 );
function special_discount_for_product_cat_for_logged_in_customers( $price, $product ) {

    $current_user_id = get_current_user_id();
    if( $current_user_id == 433 && is_user_logged_in() ) {
        if (is_product( '11323', $product->get_id())) {
            $price = 9.95;
        }
    }
    return $price;
}

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 19 мая 2019

Вместо этого попробуйте следующее: это повсеместно изменит цену продукта для определенного продукта и идентификатора конкретного пользователя:

add_filter( 'woocommerce_product_get_price', 'special_discount_for_product_cat_for_logged_in_customers', 10, 2 );
function special_discount_for_product_cat_for_logged_in_customers( $price, $product ) {
    // YOUR SETTINGS
    $targeted_user_id    = 433;
    $targeted_product_id = 11323;

    if( get_current_user_id() == $targeted_user_id && $product->get_id() == $targeted_product_id ) {
        $price = 9.95;
    }
    return $price;
}

Код находится в файле functions.php вашей активной дочерней темы (или активной темы)).Протестировано и работает.

...