آموزش انتقال شماره موبایل های افزونه دیجیتس به موبیتس
اگر قبل از تهیه و نصب موبیتس، افزونه دیجیتس را در سایت خود داشته اید و بعضی از کاربران شما با دیجیتس ثبت نام کرده باشند، با آموزش زیر می توانید شماره موبایل ها را به موبیتس منتقل نمایید.
گرچه موبیتس بصورت پیشفرض از کاربران دیجیتس پشتیبانی می کند، ولی ممکن است علاقه داشته باشید که شماره موبایل های دیجیتسی در موبیتس نیز ذخیره شوند.
نحوه ذخیره شماره موبایل ها در دو افزونه:
// Digits User Meta: digits_phone // +989371425379 digits_phone_no // 9371425379 // Mobits User Meta mobits_mobile_number // +989371425379 mobits_mobile // 09371425379 mobits_mobile_number_code //98
پس کافیست دو متای دیجیتس را گرفته، تغییر داده و در موبیتس کپی کنیم.
ساده ترین و سریع ترین راه برای این انتقال، کپی داده ها از طریق دیتابیس و ران کردن یک کوئری مستقیم می باشد.
وارد phpmyadmin سایت خود شوید و دیتابیس سایت خود را انتخاب نمایید.
جدول متای کاربران usermeta را انتخاب نمایید.
از منوی export، یک خروجی کامل از این جدول بگیرید.
سپس به منوی sql رفته و کوئری های زیر را وارد کرده و اجرا نمایید.
نکته: اگر پیشوند جدول های شما wp_ نیست، لازم است آن را مطابق پیشوند خود تغییر دهید.
کوئری اول – کپی متای digits_phone در mobits_mobile_number بدون هیچ تغییری
با توجه به اینکه فرمت شماره موبایل در این دو متای موبیتس و دیجیتس شبیه هم می باشد، باید این متا ها شبیه هم وجود داشته باشد.
ابتدا کوئری زیر را اجرا کنید تا ببینید چه تعداد از کاربران شما متای digits_phone دارند ولی متای mobits_mobile_number ندارند:
SELECT COUNT(*) AS count_users
FROM wp_usermeta d
WHERE d.meta_key = 'digits_phone'
AND NOT EXISTS (
SELECT 1
FROM wp_usermeta m
WHERE m.user_id = d.user_id
AND m.meta_key = 'mobits_mobile_number'
);
اگر نتیجه ای مشاهده کردید، کوئری زیر را اجرا نمایید:
INSERT INTO wp_usermeta (user_id, meta_key, meta_value)
SELECT d.user_id, 'mobits_mobile_number', d.meta_value
FROM wp_usermeta d
WHERE d.meta_key = 'digits_phone'
AND NOT EXISTS (
SELECT 1
FROM wp_usermeta m
WHERE m.user_id = d.user_id
AND m.meta_key = 'mobits_mobile_number'
);
کوئری دوم – کپی شماره موبایل های بدون کد کشور در موبیتس
اکنون باید شماره موبایل ها بدون کد کشور در متای mobits_mobile ذخیره شوند.
کافیست متای digits_phone را بگیریم و کد کشور را از ابتدای آن حذف نماییم. اگر کشور ایران بود به ابتدای آن صفر اضافه شود و در غیر اینصورت همان را ذخیره کنیم.
کوئری زیر را اجرا نمایید:
INSERT INTO wp_usermeta (user_id, meta_key, meta_value)
SELECT d.user_id, 'mobits_mobile',
CASE
WHEN d_full.meta_value LIKE '+98%' THEN CONCAT('0', d.meta_value)
ELSE d.meta_value
END
FROM wp_usermeta d
JOIN wp_usermeta d_full
ON d.user_id = d_full.user_id AND d_full.meta_key = 'digits_phone'
WHERE d.meta_key = 'digits_phone_no'
AND NOT EXISTS (
SELECT 1
FROM wp_usermeta m
WHERE m.user_id = d.user_id
AND m.meta_key = 'mobits_mobile'
);
کوئری سوم – کپی کد کشور در موبیتس
نوبت آن است که کد کشور را از متای digits_phone بگیریم و در متای mobits_mobile_number_code کپی کنیم.
کوئری زیر را اجرا نمایید:
INSERT INTO wp_usermeta (user_id, meta_key, meta_value)
SELECT d.user_id, 'mobits_mobile_number_code',
REPLACE(
SUBSTRING(
d_full.meta_value,
1,
CHAR_LENGTH(d_full.meta_value) - CHAR_LENGTH(d.meta_value)
),
'+',
''
)
FROM wp_usermeta d
JOIN wp_usermeta d_full
ON d.user_id = d_full.user_id AND d_full.meta_key = 'digits_phone'
WHERE d.meta_key = 'digits_phone_no'
AND NOT EXISTS (
SELECT 1
FROM wp_usermeta m
WHERE m.user_id = d.user_id
AND m.meta_key = 'mobits_mobile_number_code'
);
