#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; } }
Комментариев нет:
Отправить комментарий