بیاوردپرس
ساعات کاری :   8 تا 12  17 تا 22
تلفن :   09371425379
تلگرام :   biawp_support@
ایمیل :   biawp.ir@gmail.com

آموزش انتقال شماره موبایل های افزونه دیجیتس به موبیتس

تاریخ: 24 شهریور 1404

اگر قبل از تهیه و نصب موبیتس، افزونه دیجیتس را در سایت خود داشته اید و بعضی از کاربران شما با دیجیتس ثبت نام کرده باشند، با آموزش زیر می توانید شماره موبایل ها را به موبیتس منتقل نمایید.

گرچه موبیتس بصورت پیشفرض از کاربران دیجیتس پشتیبانی می کند، ولی ممکن است علاقه داشته باشید که شماره موبایل های دیجیتسی در موبیتس نیز ذخیره شوند.

نحوه ذخیره شماره موبایل ها در دو افزونه:

// 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'
    );
طراحی افزونه وردپرس
biawp_update@