Intereting Posts

Изменение цен на корзину в WooCommerce версии 3.0

Я пытаюсь изменить цену продукта в корзине, используя следующую функцию:

add_action( 'woocommerce_before_shipping_calculator', 'add_custom_price' ); function add_custom_price( $cart_object ) { foreach ( $cart_object->cart_contents as $key => $value ) { $value['data']->price = 400; } } 

Он корректно работал в WooCommerce версии 2.6.x, но больше не работает в версии 3.0+

Как я могу заставить его работать в WooCommerce Version 3.0+?

Благодарю.

Related of "Изменение цен на корзину в WooCommerce версии 3.0"

С WooCommerce версии 3.0+ вам необходимо:

  • woocommerce_before_calculate_totals этого используйте woocommerce_before_calculate_totals .
  • Вместо get_cart() использовать метод get_cart()
  • Вместо set_price() использовать метод set_price()

Вот код:

 add_action( 'woocommerce_before_calculate_totals', 'add_custom_price', 10, 1); function add_custom_price( $cart_obj ) { // This is necessary for WC 3.0+ if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; foreach ( $cart_obj->get_cart() as $key => $value ) { $value['data']->set_price( 40 ); } } 

Код находится в файле function.php вашей активной дочерней темы (или темы), а также в любом файле плагина.

Этот код проверен и работает.