Изглеждаше ми, че добавянето на нова валута (като лв. например) би било лесно с WooCommerce, но не би. Не можах да намеря никакъв wp filter в документацията (филтър има, но се оказа трудно откриваем)
Edit: Пуснах плъгин, който добавя BGN лев като валута към WooCommerce. Може да го свалите от тук
Все пак успях да намеря 2 филтъра (явно недокументирани) за тази задача: ‘woocommerce_currencies’ и ‘woocommerce_currency_symbol’. Добавянето на BGN става по следния начин:
add_filter( 'woocommerce_currencies', 'add_bgn_currency' );
function add_bgn_currency( $currencies ) { $currencies['BGN'] = __( 'Bulgarian lev', 'woocommerce' ); return $currencies; }
add_filter('woocommerce_currency_symbol', 'add_bgn_currency_symbol', 10, 2);
function add_bgn_currency_symbol( $currency_symbol, $currency ) { switch( $currency ) { case 'BGN': $currency_symbol = 'лв.'; break; } return $currency_symbol; }
След като добавите този код в списъка с валутите в админситрацията на WooCommerce ще ви се появи и заветния лев (най-отдолу):

Все пак един проблем продължава да стои отворен – позицията на символа за валута не може да се управлява от hook/filter. Единственото, което може да направите е да го зададете за целия сайт. (Дори локализиращите настройки с WPML не предоставят тази опция. И дори тази конфигурация е поставена на не-толкова-интуитивно място:
Продължавам да се чудя как да го направя с php only. В краен случай може да пробвам с good old JS.
Евала Ниньо, спести ми доста главоблъскане в търсене на тоя пуст филтър.
Все пак не е вярно, че го няма описано в документацията (http://wcdocs.woothemes.com/snippets/add-a-custom-currency-symbol/), но важното е, че публикацията ти излиза преди това в търсенето.
10х,
Стефан
И аз го видях това, но в последствие – след като го бях намерил в кода на плъгина. И все пак е куцо, че не можеш да имаш позицията на валутата да се сменя според езика.
Евалата, батка! Сложих кода във functions.php и тръгна веднага. Пушка е! 🙂 Малко са просветителите на български. На руски обаче намерих доста видеа в Тубата. Иначе резултатите са общо над 650. Благодаря! (Жалко че нямаш адсенс да ти го накликам) 🙂
Мерси много за инфото, но при мен има проблем. На продуктите вместо „лв.“ показва „��“. Предполагам нещо ми убягва ?
Здрасти Стеф,
Да не би темата ти да използва някакъв custom шрифт специално за този надпис. (Ако този шрифт няма кирилица може това да е проблема).
Другото нещо което може да е, че файлът в който си запазил кода е с грешен енкодинг (пробвай да го смениш на utf8).
Благодаря за инфото! И при мен тръгна от раз 🙂
Извинявам се за въпроса, но къде точно се намира този „списък с валути в админситрацията на WooCommerce“, че и аз се опитвам да добавя лева, но нещо ми убягва.
Трябва да се яви в WooCommerce->Settings.
Първият таб, който трябва да ти е вече отворен (General), 2-я дропдаун се казва Currency. Добавените валути се явяват най-отдолу. 🙂
Сигурно въпросът ми е профански, но къде са сложа кода?
В темата която използваш във functions.php файлът
Мерси много за функцията. Доста нерви ми спести 🙂
Браво, наистина е пушка обаче има проблем с paypal не разпознава валутата можели някой да помогне за проблема. В крайна сметка ако е само с плащане по банков път то, какъв магазин е това.