«Custom price» из произвольного поля товаров

168
21 октября 2017, 19:00

Скажите пожалуйста, если данный код считывает цену из произвольного поля товара у которого id=96 и заносит, для каждого товара, в корзину именно эту цену:

function add_custom_price( $cart_object ) {
    $rrp = get_post_meta( 96, 'rrp_price', true );
    $custom_price = $rrp; 
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
    $cart_item['data']->set_price($custom_price); 
  }}
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price', 10 );

Как можно реализовать вариант чтобы цена считывалась и попадала в корзину из произвольного поля для каждого товара СВОЯ?

Answer 1

Попробуйте так:

function add_custom_price( $cart_object, $id_field, $price_field ) {
    $rrp = get_post_meta( (int)$id_field, $price_field, true );
    $custom_price = $rrp; 
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
    $cart_item['data']->set_price($custom_price); 
}}
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price', 10 );

Только нужны проверки на валидность данных

Answer 2

Попытка внедрить таким образом не увенчалась успехом

function add_custom_price( $cart_object, $id_field, $price, $price_field ) {
$price_field = get_post_meta( $product->id, 'rrp_price', true );
$custom_price = get_post_meta( (int)$id_field, 'rrp_price', true );
      if( $price_field = get_post_meta( $product->id, 'rrp_price', true ) ){
        $price = $price_field;
    }
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
       $cart_item['data']->set_price($custom_price);   
    }
    return $price;
}
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price', 10 );

Warning: Missing argument (2,3,4) - в этом вся соль?

READ ALSO
php move_uploaded_file не работает с переменной типа $_POST

php move_uploaded_file не работает с переменной типа $_POST

Не могу понять в чем дело, так работает:

217
Можно ли получить путь к папке используя input?

Можно ли получить путь к папке используя input?

Можно ли получить путь к папке используя <input type="file"> ? Нажимаю кнопку и выбираю папку которая мне нужна для копированияИли это как то по другому...

252
Что лучше использовать в mysql?

Что лучше использовать в mysql?

Что лучше и быстрее?

217
Цена вариативного товара в корзину

Цена вариативного товара в корзину

При помощи данного кода можно занести цену в корзину из произвольного поляНо как только задаешь формат вывода цены на экран в контейнере...

229