WooCommerce中特定产品和特定客户的折扣

时间:2019-05-19 16:16:57

标签: php wordpress woocommerce product price

我正在尝试更改一种产品的已登录客户的价格。使用此代码时,价格不会改变,但只会在产品页面上改变。我需要在任何地方(档案,产品页面,购物车等)更改价格

这是我要制作的代码。

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 :(得分:0)

请尝试以下操作,这将改变特定产品和特定用户ID的产品价格。

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文件中。经过测试和工作。