Multi-Currency
Ultimate Multisite: Multi-Currency به شبکه شما این امکان را میدهد که پرداختها را با ارزهای مختلف بپذیرد. این افزونه به طور خودکار قیمتها را با استفاده از نرخهای تبدیل زنده یا دستی محاسبه میکند، به شما اجازه میدهد تا قیمتهای دقیقی را برای هر محصول و هر ارز تعیین کنید، و با استفاده از موقعیت جغرافیایی (geolocation) هر بازدیدکننده را شناسایی کرده و ارز مورد نظر او را تعیین میکند — و همه این موارد را از یک داشبورد ادمین مدیریت میکنید.
ویژگیهای کلیدی
- تبدیل خودکار نرخ ارز — قیمتها با استفاده از نرخهای دریافتی از ارائهدهنده انتخابی شما، از ارز پایه شما تبدیل میشوند.
- تغییر قیمت محصول بر اساس ارز — میتوانید قیمتهای دقی قی و مخصوص هر ارز را روی هر محصول تنظیم کنید تا از تبدیل خودکار صرف نظر شود.
- فیلد انتخاب ارز در ثبت نام — به مشتریان اجازه میدهد تا در زمان ثبت نام یا تسویه حساب، ارز مورد نظر خود را انتخاب کنند.
- ارائهدهندگان نرخ ارز متعدد — شامل ECB، Frankfurter، Stripe، یا نرخهای کاملاً دستی.
- تشخیص ارز بر اساس موقعیت جغرافیایی — به طور خودکار ارز منطبق با کشور بازدیدکننده را پیشانتخاب میکند.
- داشبورد ادمین — مدیریت ارزهای فعال، نرخهای تبدیل و تنظیمات ارائهدهنده از یک مکان.
پیشنیازها
- Ultimate Multisite 2.0.0 یا بالاتر
- نصب WordPress Multisite
- PHP 7.4 یا بالاتر
نصب
- فایلهای plugin را در مسیر
/wp-content/plugins/ultimate-multisite-multi-currencyآپلود کنید. - افزونه را از صفحه Plugins در WordPress فعال کنید (فعالسازی در سطح شبکه).
- برای باز کردن داشبورد ادمین، به Ultimate Multisite → Multi-Currency بروید.
- ارزهایی را که میخواهید بپذیرید اضافه کرده و ارائهدهنده نرخ ارز خود را پیکربندی کنید.
پیکربندی
داشبورد ادمین
داشبورد ادمین Multi-Currency (Ultimate Multisite → Multi-Currency) مکان مرکزی برای انجام موارد زیر است:
- افزودن، فعال یا غیرفعال کردن ارزها
- انتخاب یک ارائهدهنده نرخ ارز و بهروزرسانی نرخها در صورت نیاز
- بررسی نرخهای فعلی برای تمام ارزهای فعال
- تنظیم نرخهای دستی در صورتی که ارائهدهندگان خودکار مناسب نباشند
ارائهدهندگان نرخ ارز
| Provider | Description |
|---|---|
| ECB | بانک مرکزی اروپا — نرخهای روزانه رایگان برای شبکههای مبتنی بر یورو (EUR) |
| Frankfurter | API آینه (mirror) منبع باز ECB — رایگان، نیازی به کلید API نیست |
| Stripe | از نرخهای تبدیل ارز زنده Stripe استفاده میکند — نیاز به یکپارچهسازی فعال Stripe دارد |
| Manual | شما نرخها را مستقیماً وارد میکنید؛ بدون فراخوانی API خارجی |
ارائهدهنده خود را در مسیر Ultimate Multisite → Multi-Currency → Settings → Exchange Rate Provider انتخاب کنید. نرخها را میتوانید در هر زمان به صورت دستی بهروزرسانی کنید یا زمانبندی کنید تا به صورت خودکار بهروز شوند.
تغییر قیمت محصول بر اساس ارز
اگر تبدیل خودکار به اندازه کافی دقیق نباشد، میتوانید یک قیمت دقیق برای یک ارز خاص روی هر محصول تنظیم کنید:
- ویرایشگر محصول را باز کنید (Ultimate Multisite → Products → Edit)
- تا بخش Currency Pricing پیمایش کنید.
- قیمت دقیق را برای هر ارزی که میخواهید تغییر دهید، وارد کنید.
- محصول را ذخیره کنید.
محصولاتی که تغییر قیمت ندارند، از قیمت تبدیل شده از ارز پایه شما استفاده میکنند.
فیلد انتخاب ارز در ثبت نام
فیلد انتخاب ارز میتواند به جریان ثبت نام/تسویه حساب شما اضافه شود تا مشتریان در زمان ثبت نام، ارز مورد نظر خود را انتخاب کنند:
- به Ultimate Multisite → Multi-Currency → Settings بروید.
- گزینه Show currency selector on signup را فعال کنید.
- به صورت اختیاری، یک ارز پیشفرض تنظیم کنید یا اجازه دهید موقعیت جغرافیایی مقدار پیشانتخاب شده را تعیین کند.
ارز انتخاب شده با اشتراک ذخیره شده و برای تمام صورتحسابهای بعدی استفاده میشود.
تشخیص ارز بر اساس موقعیت جغرافیایی
هنگامی که تشخیص موقعیت جغرافیایی فعال باشد، افزونه کشور بازدیدکننده را به یک ارز نگاشت کرده و آن را در فیلد انتخاب ارز پیشانتخاب میکند. برای فعالسازی:
- به Ultimate Multisite → Multi-Currency → Settings بروید.
- گزینه Detect currency from visitor location را فعال کنید.
- کشورها را در جدول Geolocation Mapping به ارزها نگاشت کنید.
اگر نگاشتی برای کشور بازدیدکننده وجود نداشته باشد، از ارز پایه شبکه به عنوان حالت پیشفرض استفاده میشود.
سوالات متداول
اگر ارائهدهنده نرخ ارز در دسترس نباشد چه اتفاقی میافتد؟
افزونه به آخرین نرخهای موفقیتآمیز بهدست آمده بازمیگردد. اگر هرگز نرخی بهدست نیامده باشد، به نرخهای دستی که شما پیکربندی کردهاید بازمیگردد. توصیه میشود که نرخهای دستی را به عنوان یک سیستم ایمنی پیکربندی کنید.
آیا میتوانم برای ارزهای مختلف از ارائهدهندگان متفاوتی استفاده کنم؟
خیر — در هر زمان، یک ارائهدهنده برای همه ارزها فعال است. اگر نیاز به کنترل کامل بر نرخهای فردی دارید، از Manual استفاده کنید.
آیا موقعیت جغرافیایی نیاز به یک plugin جداگانه دارد؟
نیازی به plugin موقعیت جغرافیایی خارجی نیست. این افزونه از تشخیص IP به کشور داخلی WordPress استفاده میکند. برای دقت بالاتر، میتوان یک سرویس موقعیت جغرافیایی اختصاصی را از طریق hookهای فیلتر ارائه شده، یکپارچهسازی کرد.
آیا تغییر قیمت محصول بر اساس ارز قبل یا بعد از مالیات اعمال میشود؟
تغییر قیمت محصول بر اساس ارز، قیمت پیش از مالیات را در ارز هدف تعیین میکند. مالیات با استفاده از پیکربندی مالیات موجود شما، روی قیمت تغییر قیمت اعمال میشود.
Changelog
Version 1.0.0 — Released on 2026-04-02
- New: Multi-currency support with automatic exchange rate conversion
- New: Per-product pricing overrides for exact currency-specific prices
- New: Currency selector signup field for the checkout flow
- New: Exchange rate providers: ECB, Frankfurter, Stripe, and manual
- New: Geolocation-based currency detection
- New: Admin dashboard for managing currencies and exchange rates
- Fix: Dashboard always showing prices in base currency regardless of selected currency