صورت مسئله: ایجاد اختلال در پیامکها و کوئریها با ارقام فارسی
هنگامی که مشتریان یا کاربران شماره موبایل، کد پستی یا ارقام عددی را با کیبورد فارسی در فیلدهای فرم، تسویه حساب ووکامرس یا نظرات وارد میکنند، این ارقام به شکل حروف یونیکد فارسی (۰۱۲۳۴۵۶۷۸۹) در پایگاه داده ذخیره میشوند. این مسئله باعث شکست ارسال پیامکهای اعتبارسنجی (OTP)، عدم تطابق شمارهها در درگاههای پرداخت و خطای جستجو در متادیتاها میگردد.
راهکار فنی و شیوه عملکرد کوئری
با اجرای یک کوئری تجمیعی استاندارد مبتنی بر تابع REPLACE در سرور MySQL/MariaDB، تمام کاراکترهای ۰ تا ۹ فارسی در یک لحظه به اعداد استاندارد انگلیسی 0 تا 9 تبدیل میشوند بدون اینکه رکوردی از دست برود.
کوئری استاندارد SQL برای تبدیل ارقام
دستور زیر را در تب SQL پنل phpMyAdmin اجرا کنید:
-- SQL Query: Convert Persian / Arabic Digits to English in WordPress Table
-- Mahdi Jafarzadeh | WPWM
-- نکته: نام جدول و فیلد مورد نظر را طبق پایگاه داده خود جایگزین کنید (مثلا wp_postmeta یا wp_usermeta)
UPDATE wp_postmeta
SET meta_value = REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(meta_value, '۰', '0'),
'۱', '1'),
'۲', '2'),
'۳', '3'),
'۴', '4'),
'۵', '5'),
'۶', '6'),
'۷', '7'),
'۸', '8'),
'۹', '9')
WHERE meta_key = 'billing_phone';
نحوه استفاده و مراحل اجرا
- وارد phpMyAdmin در کنترل پنل هاست خود شوید.
- پایگاه داده سایت وردپرسی خود را از ستون سمت چپ انتخاب کنید.
- به تب SQL بروید.
- پیشوند جدول (مانند
wp_) و نام کلید مورد نظر (مانندbilling_phoneبرای شماره تماس ووکامرس) را چک کرده و دکمه Go را بزنید.
نکات مهم ایمنی و نگهداری
- ⚠️ بسیار مهم: قبل از اجرای هرگونه کوئری UPDATE مستقیم روی دیتابیس، حتماً از طریق تب Export یک فول بکاپ از دیتابیس دانلود کنید.
- برای تبدیل شمارههای کاربران میتوانید جدول
wp_usermetaرا هدف قرار دهید.
💡 نیاز به نظافت عمیق و اصولی دیتابیس دارید؟ ما در بخش بهینهسازی دیتابیس وردپرس و اورژانس وردپرس کلیه ناهماهنگیها و خطاهای ساختاری پایگاه داده شما را پاکسازی میکنیم.
دیدگاهها و پرسشها
پاسخها، تجربهها و دیدگاههای کاربران در یک گفتوگوی منظم.
گفتوگوهای کاربران
جدیدترین دیدگاهها در ابتدااولین پرسش یا تجربه را ثبت کنید؛ ایمیلتان نمایش داده نمیشود.