یکی از چالشهای مهم در راهاندازی وبسایتهای فارسیزبان، نمایش صحیح اعداد در محیط وردپرس است. بسیاری از قالبها و افزونهها بهطور پیشفرض اعداد را به شکل انگلیسی نمایش میدهند که این موضوع میتواند برای کاربران فارسیزبان تجربهی نامناسبی ایجاد کند. خوشبختانه با استفاده از یک تکه کد ساده و بهینه در فایل functions.php قالب، میتوانید این مشکل را در بیشتر بخشهای سایت برطرف کنید.
مشکل نمایش اعداد انگلیسی در وردپرس
وردپرس از یک سیستم بینالمللیسازی قدرتمند بهره میبرد که امکان ترجمه و локаالسازی محتوا را فراهم میکند. با این حال، برخی از اجزای هسته وردپرس یا افزونهها ممکن است از تابع استاندارد number_format_i18n برای نمایش اعداد استفاده نکنند. این تابع مخصوص نمایش اعداد به فرمت محلی هر زبان است. وقتی این تابع به کار نرود، اعداد به صورت انگلیسی نمایش داده میشوند.

فیلتر کردن اعداد بینالمللی
برای حل این مشکل، میتوانید از فیلتر number_format_i18n در وردپرس استفاده کنید. این فیلتر به شما امکان میدهد خروجی اعداد بینالمللیشده را قبل از نمایش تغییر دهید. کدی که در ادامه محل قرارگیری آن را مشخص میکنیم، این کار را به صورت بسیار کارآمد انجام میدهد.
add_filter( 'number_format_i18n', function( $formatted, $number, $decimals ) {
return strtr( $number, array(
'0' => '۰', '1' => '۱', '2' => '۲', '3' => '۳',
'4' => '۴', '5' => '۵', '6' => '۶', '7' => '۷',
'8' => '۸', '9' => '۹',
) );
}, 3, 999 );این کد را باید در فایل functions.php قالب فعال خود قرار دهید. پس از افزودن این کد، وردپرس بهطور خودکار اعدادی که توسط تابع number_format_i18n پردازش میشوند را به اعداد فارسی تبدیل میکند.
مزایای استفاده از این روش
- عملکرد گسترده
این کد نه تنها در بخش عمومی سایت، بلکه در پیشخوان مدیریت وردپرس نیز اثرگذار است. این یعنی اعداد در بخشهایی مانند آمار، گزارشات، و تنظیمات مدیریت نیز به فارسی نمایش داده خواهند شد. - سازگاری با افزونههای محبوب
این راهحل با بسیاری از افزونههایی ووکامرس برای فروشگاهسازی، سیستمهای صفحهبندی، و سایر افزونههایی که از استانداردهای بینالمللی وردپرس پیروی میکنند، سازگار است. - بهینه و کمهزینه
این کد از تغییرات غیراصولی در هسته وردپرس جلوگیری میکند و بار پردازشی اضافی بر روی سرور وارد نمیکند. این یک راهحل سبک و استاندارد است که تنها روی خروجی نهایی اعداد در مکانهای صحیح اثر میگذارد.
محدودیتها و نکات مهم
اگرچه این کد پوشش بسیار خوبی دارد، اما ممکن است در برخی موارد خاص، برخی اعداد همچنان به زبان انگلیسی نمایش داده شوند. دلیل آن این است که برخی افزونهها یا بخشهای کد، اعداد را بدون استفاده از فیلتر استاندارد وردپرس چاپ میکنند. در چنین مواردی، نیاز است به صورت موردی و با بررسی کدهای آن بخش خاص، راهحل جداگانهای پیادهسازی شود.
فارسیسازی تخصصی وردپرس و افزونههای وردپرس
استفاده از فیلتر number_format_i18n یک روش اصولی، مطمئن و کمخطر برای فارسیسازی اعداد در وردپرس است. این روش تعادل مناسبی بین سادگی و کارایی برقرار میکند و بدون ایجاد اختلال در عملکرد اصلی سایت، مشکل نمایش اعداد را برای کاربران فارسیزبان حل میکند.
اگر به خدمات تخصصی وردپرس شامل فارسیسازی و بهینهسازی فنی و اصولی وردپرس نیاز دارید، ما در کهکشان وردپرس در کنار شما هستیم. کافیست با ما در تماس باشید.
