В Woocommerce я хотел бы применить индивидуальную цену для определенного продукта.

Это мой фактический код:

add_action('woocommerce_get_price','change_price_regular_member', 10, 2);
function change_price_regular_member($price, $productd){
    return '1000';
}

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

2
Mukhyyar 13 Мар 2018 в 13:39

2 ответа

Лучший ответ

Перехватчик woocommerce_get_price устарел и не рекомендуется в Woocommerce 3 (и это был перехватчик фильтра , но НЕ перехватчик действия) . Он был заменен на woocommerce_product_get_price.

Поэтому вместо этого попробуйте этот (где вы определите свой целевой идентификатор продукта в этой подключенной функции) :

add_filter( 'woocommerce_product_get_price','change_price_regular_member', 10, 2 );
function change_price_regular_member( $price, $product ){
    // HERE below define your product ID
    $targeted_product_id = 37;

    if( $product->get_id() == $targeted_product_id )
        $price = '1000';

    return $price;
}

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

1
LoicTheAztec 13 Мар 2018 в 11:02

Попробуйте этот код. просто замените идентификатор товара 3030

add_action('woocommerce_get_price','change_price_regular_member', 10, 2);
function change_price_regular_member($price, $productd){
    if($productd->id==3030){
        $price= 1000;
    }
    return $price;
}
0
Vel 13 Мар 2018 в 10:48