Собственно вот функция изменения цены по курсу woocommerce:
add_action ('admin_menu', 'dynamic_price_button');
add_action ('woocommerce_get_price', 'change_price');
remove_action ('woocommerce_get_price', 'change_price2');
add_action( 'admin_init', 'register_mysettings' );
function register_mysettings () {
register_setting( 'baw-settings-group', 'kurs' );
register_setting( 'baw-settings-group', 'valuta' );
}
function change_price ($this) {
$int = $this;
$kurs=get_option('kurs');
if ($kurs!='') {
return $int*$kurs;}
else return $int;
}
function dynamic_price_button () {
add_submenu_page ('woocommerce', 'Курс сегодня', 'Курс сегодня', 'manage_options', 'dynamic_price', 'setting_page');
}
...
Далее идет инпут с get_option('kurs');
Определить категорию, для которой нужно отменить работу функции - я могу
if( has_term( '1489', 'product_cat' ,$product->ID) )
а вот как применить определенную категорию к этой части кода
function change_price ($this) {
$int = $this;
$kurs=get_option('kurs');
if ($kurs!='') {
return $int*$kurs;}
else return $int;
}
я не понимаю. Подскажите.
Если вставить в начало части кода категорию, то изменения по формуле буду только в той категории, в которой скажу - то есть:
function change_price ($this) {
if( has_term( '1489', 'product_cat' ,$product->ID) ) /*категория */
$int = $this;
$kurs=get_option('kurs');
if ($kurs!='') {
return $int*$kurs;}
else return $int;
}
а мне нужно чтоб в ней не происходила функция.
что делаю не так?