Страницы

Поиск по вопросам

пятница, 27 декабря 2019 г.

Захват цены, Wordpress

#php #wordpress


Я делаю плагин акций. Суть: в админке создаем акцию, указываем разные настройки и
скидку. При формировании товаров, делается запрос к БД и у тех товаров, которые включены
в акцию, цена домножается на % скидки.
  foreach($products_id as $goods_id){      
  $price = $product->get_price($post_id);      
  echo ''.$price.'';            
  for($i=0; $i'.$new_price.'';         
                 
    }       
  }      
  break;
}

Проблема в том, что цена для корзины/оформления заказов и т.д. не меняется. Я использовал
add_filter( 'woocommerce_get_price', 'camp_woocommerce_get_price', 10, 2);

но у меня ничего не получалось. Каким хуком зацепить это добро?    


Ответы

Ответ 1



Используйте хук woocommerce_before_calculate_totals add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' ); function add_custom_price( $cart_object ) { foreach ( $cart_object->cart_contents as $key => $value ) { $discount = get_post_meta( $value['product_id'], 'название поля со скидкой', true ); // Здесь скидка $value['data']->price -= ($value['data']->price/100) * $discount; } }

Комментариев нет:

Отправить комментарий