В WooCommerce мне нужно умножить цены всех продуктов на число. Поэтому я использовал следующее (через плагин):
add_filter('woocommerce_get_regular_price', array( $this, 'my_custom_price'), 99);
add_filter('woocommerce_get_price', array( $this, 'my_custom_price'), 99);
function my_custom_price( $original_price ) {
global $post, $woocommerce;
//Logic for calculating the new price here
$new_price = $original_price * 2;
//Return the new price (this is the price that will be used everywhere in the store)
return $new_price;
}
Но, что не работает для продуктов вариации. Я пробовал следующие перехватчики без везения:
add_filter('woocommerce_get_variation_regular_price', array( $this, 'my_custom_price'), 99);
add_filter('woocommerce_get_variation_price', array( $this, 'my_custom_price'), 99);
Единственный, который работает на полпути, следующий:
add_filter('woocommerce_variation_prices_price', array( $this, 'my_custom_price'), 99);
Но это просто изменило общую цену, а не выбранную цену вариации. См. Изображение ниже, цена BsF. 200, а общая цена права, 200 x 2 = 400, но вариационная цена при выборе по-прежнему показывает 200:
Примечание. Мне нужно, чтобы это действительно изменилось, поэтому отображать html-крючки не будет.
Есть ли что-то, что я пропущу, или что-то не так?