function my_woocommerce_get_price($price, $_product) {
$kurs = 58; // курс валюты
$new_price = $price * $kurs;
return $new_price; // новая цена
}
add_filter('woocommerce_get_price', 'my_woocommerce_get_price',100,2);
function my_woocommerce_get_price($price, $_product) {
$kurs = 58; // курс валюты
$new_price = $price * $kurs;
return $new_price; // новая цена
}
add_filter('woocommerce_get_price', 'my_woocommerce_get_price',100,2);
function my_woocommerce_get_price($price, $_product) {
$kurs = 58; // фиксированный базовый курс валюты
$kurs_current = 60; // текущий курс валюты
$new_price = $price * ($kurs_current / $kurs);
return $new_price; // новая цена
}
add_filter('woocommerce_get_price', 'my_woocommerce_get_price',100,2);
$new_price = round ($price * $kurs);
$new_price = round ($price * $kurs);
$decimals = wc_get_price_decimals();
$new_price = round ($price * $kurs, $decimals);
add_filter('woocommerce_get_price', 'my_woocommerce_get_price',100,2);
function my_woocommerce_get_price($price, $_product) {
// параметры ------------------------------------
$kurs_base = 58; // фиксированный базовый курс валюты
$kurs_current = 60; // текущий курс валюты по умолчанию
$kurs_cb = get_currency_cb('EUR'); // получить курс EUR
// $kurs_cb = get_currency_cb('USD'); // получить курс USD
// --------------------------------------------------
$kurs_base = ($kurs_base <= 0) ? 1 : $kurs_base;
$kurs_current = ($kurs_cb['kurs'] <= 0) ? $kurs_current : $kurs_cb['kurs'];
$new_price = $price * ($kurs_current / $kurs_base);
return $new_price; // новая цена
}
function get_currency_cb($code_valute = 'USD', $time_cash = '60' ) {
// параметры -------------------;
if ($code_valute != 'USD' && $code_valute != 'EUR') $code_valute = 'USD';
if ($time_cash <= 0) $time_cash = 60; // время кеширования в минутах
// ------------------------------
$name_cash = 'cash_kurs_cb';
$cached = get_transient($name_cash);
if ($cached !== false && $cached['code'] == $code_valute) {
$kurs_cb = $cached;
return $kurs_cb;
}
else {
libxml_use_internal_errors(true);
$kurs_cb_xml = simplexml_load_file("http://www.cbr.ru/scripts/XML_daily.asp");
if ($kurs_cb_xml === false) {
echo "Ошибка загрузки XML\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
$kurs_cb = $cached;
return $kurs_cb;
}
else
{
foreach ($kurs_cb_xml->Valute as $valute) {
if ((string)$valute->CharCode == $code_valute) {
$kurs_cb['date'] = (string)$kurs_cb_xml['Date'];
$kurs_cb['kurs'] = (string)$valute->Value;
$kurs_cb['code'] = $code_valute;
break;
}
}
$kurs_cb['kurs'] = round(str_replace(',','.',$kurs_cb['kurs']),2);
set_transient($name_cash, $kurs_cb, MINUTE_IN_SECONDS * $time_cash);
return $kurs_cb;
}
}
}
/** Меняем цену товара в соответствии с курсом **/
function my_woocommerce_get_price($price, $_product) {
$kurs = 10; // курс валюты
$new_price = $price * $kurs;
return $new_price; // новая цена
}
add_filter('woocommerce_get_price', 'my_woocommerce_get_price',100,2);
/** Меняем цену товара в соответствии с курсом **/
function my_woocommerce_get_price($price, $_product) {
$kurs = 10; // курс валюты
$new_price = $price * $kurs;
return $new_price; // новая цена
}
add_filter('woocommerce_get_price', 'my_woocommerce_get_price',100,2);
/** Меняем цену товара в соответствии с курсом **/
function my_woocommerce_get_price($price, $_product) {
// $kurs = 10; // курс валюты
$kurs = get_option( 'woocommerce_set_kurs', 1 ); // курс валюты, полученный из настроек в админке
$new_price = $price * $kurs;
return $new_price; // новая цена
}
add_filter('woocommerce_get_price', 'my_woocommerce_get_price',100,2);
/** Добавляем в админку поле для настройки курса **/
add_filter( 'woocommerce_general_settings', 'add_a_setting_kurs' );
function add_a_setting_kurs( $settings ) {
$updated_settings = array();
foreach ( $settings as $section ) {
if ( isset( $section['id'] ) && 'pricing_options' == $section['id'] &&
isset( $section['type'] ) && 'sectionend' == $section['type'] ) {
$updated_settings[] = array(
'title' => 'Курс валюты',
'desc' => 'Курс валюты учета по отношению к валюте, которая отображается посетителю интернет-магазина',
'id' => 'woocommerce_set_kurs',
'type' => 'text',
'css' => 'width:70px;',
'default' => '1',
'desc_tip' => false,
);
}
$updated_settings[] = $section;
}
return $updated_settings;
}
/** Добавляем в админку поле для настройки курса **/
add_filter( 'woocommerce_general_settings', 'add_a_setting_kurs' );
function add_a_setting_kurs( $settings ) {
$settings[] = array( 'name' => 'Настройки курса', 'type' => 'title', 'desc' => '', 'id' => 'woocommerce_kurs_settings' );
$settings[] = array(
'title' => 'Курс валюты',
'desc' => 'Курс валюты учета по отношению к валюте, которая отображается посетителю интернет-магазина',
'id' => 'woocommerce_set_kurs',
'type' => 'text',
'css' => 'width:70px;',
'default' => '1',
'desc_tip' => false,
);
$settings[] = array( 'type' => 'sectionend', 'id' => 'woocommerce_kurs_settings');
return $settings;
}