Как заменить символ украинской гривны в WooCommerce?
В этом видео я расскажу как заменить символ украинской гривны в интернет-магазине WooCommerce. Мы заменим символ «₴» на «грн».
Символ «грн» можно использовать для магазина на укр. и на русском языке.
История символа ₴
В 2003 г. НБУ провел конкурс на разработку дизайна символа украинской гривны.
1 марта 2004 г. знак ₴ был представлен в качестве символа украинской гривны.
И в 2005 г. этот символ был включен в стандарт Юникод. Также, он используется как символ украинской гривны в плагине WooCommerce по умолчанию.
Мы можем использовать в нашем магазине более привычное нам сокращение символа валюты — грн
Неправильные сокращения: гр, грвн, грв.
Как заменить символ украинской гривны
Содержание видео
- Указываем в настройках плагина WooCommerce нашу валюту.
- Символом укр. гривны является знак ₴. Для его замены можно использовать символ: грн. А символы «гр.», «грвн.», «грв.» являются неправильными.
- Что такое хук-фильтр?
- Вставляем функцию замены символа валюты.
Примечание от 20-08-2020: в интернет-магазинах правильным будет использование следующих обозначений ₴ или грн (без точки в конце)
Хуки в WordPress
Для замены символа я буду использовать хук-фильтр, который отвечает за вывод символа валюты в WooCommerce.
add_filter('woocommerce_currency_symbol', 'add_my_currency_symbol', 10, 2);
На этот хук я повешу функцию замены символа. Саму функцию я вставляю в файл functions.php дочерней темы.
Также, для вставки функции можно использовать плагин Code Snippets или MU-PLUGINS (обязательные плагины).
Код для вставки
Функция замены названия валюты
add_filter( 'woocommerce_currencies', 'add_my_currency' );
function add_my_currency( $currencies ) {
$currencies['UAH'] = __( 'Українська гривня', 'woocommerce' );
return $currencies;
}
Функция замены символа валюты
add_filter('woocommerce_currency_symbol', 'add_my_currency_symbol', 10, 2);
function add_my_currency_symbol( $currency_symbol, $currency ) {
switch( $currency ) {
case 'UAH': $currency_symbol = 'грн'; break;
}
return $currency_symbol;
}