اعتبارسنجی ووکامرس در فرم تسویه حساب با Code Snippets (موبایل، کدپستی، نام)

فرم تسویه حساب ووکامرس (WooCommerce Checkout) یکی از مهم‌ترین بخش‌های هر فروشگاه اینترنتی است. اگر اطلاعات کاربران به‌درستی بررسی نشود، ممکن است سفارش‌های اشتباه، شماره موبایل‌های نامعتبر و اطلاعات ناقص ثبت شود که در نهایت باعث کاهش کیفیت سفارش‌ها و افزایش مشکلات پشتیبانی می‌شود.

در این آموزش اعتبارسنجی ووکامرس در فرم تسویه حساب همراه نادر آی تی یاد می‌گیرید چطور بدون دستکاری فایل قالب و فقط با افزونه Code Snippets یک سیستم حرفه‌ای اعتبارسنجی برای فرم تسویه حساب ووکامرس ایجاد کنید.


امکانات آموزش اعتبارسنجی ووکامرس در فرم تسویه حساب

با استفاده از این کد:

  • بررسی شماره موبایل ایرانی (فرمت 09xxxxxxxxx)
  • بررسی صحت کدپستی (10 رقم عددی)
  • جلوگیری از ورود نام و نام خانوادگی غیر فارسی
  • نمایش پیام خطا در صفحه تسویه حساب ووکامرس

کد کامل اعتبارسنجی ووکامرس در فرم تسویه حساب با Code Snippets (موبایل، کدپستی، نام)

کد زیر را داخل افزونه Code Snippets اضافه کنید:

add_action('woocommerce_checkout_process', 'custom_checkout_validation');

function custom_checkout_validation() {

    // موبایل
    if ( empty($_POST['billing_phone']) ) {
        wc_add_notice('لطفاً شماره موبایل خود را وارد کنید.', 'error');
    } else {

        $phone = trim($_POST['billing_phone']);

        $phone = str_replace(array(' ','-'),'',$phone);

        // تبدیل +98 و 98 به 09
        if (strpos($phone, '+98') === 0) {
            $phone = '0' . substr($phone,3);
        }

        if (strpos($phone, '98') === 0) {
            $phone = '0' . substr($phone,2);
        }

        if (!preg_match('/^09[0-9]{9}$/',$phone)) {
            wc_add_notice('شماره موبایل معتبر نیست. شماره باید با 09 شروع شده و دقیقاً 11 رقم باشد.','error');
        }
    }

    // کد پستی
    if (!empty($_POST['billing_postcode'])) {

        $postcode = trim($_POST['billing_postcode']);

        if (!preg_match('/^[0-9]{10}$/',$postcode)) {

            wc_add_notice('کد پستی باید فقط شامل 10 رقم باشد.','error');

        }

    }

    // نام
    if (!empty($_POST['billing_first_name'])) {

        if (!preg_match('/^[\p{Arabic}\s]+$/u',trim($_POST['billing_first_name']))) {

            wc_add_notice('نام فقط باید با حروف فارسی وارد شود.','error');

        }

    }

    // نام خانوادگی
    if (!empty($_POST['billing_last_name'])) {

        if (!preg_match('/^[\p{Arabic}\s]+$/u',trim($_POST['billing_last_name']))) {

            wc_add_notice('نام خانوادگی فقط باید با حروف فارسی وارد شود.','error');

        }

    }

    // ایمیل
    if (!empty($_POST['billing_email'])) {

        if (!is_email($_POST['billing_email'])) {

            wc_add_notice('ایمیل وارد شده معتبر نیست.','error');

        }

    }

}
کد اعتبارسنجی ووکامرس در فرم تسویه حساب با Code Snippets (فقط برای شماره موبایل موبایل)

کد زیر فقط برای اعتبارسنجی شماره موبایل می باشد باید کد زیر را داخل افزونه Code Snippets اضافه کنید:

/**
 * اعتبارسنجی شماره موبایل ایران در ووکامرس
 * فقط 11 رقم و شروع با 09
 */

add_action('woocommerce_checkout_process', 'nadrit_validate_mobile');

function nadrit_validate_mobile() {

    if (empty($_POST['billing_phone'])) {
        return;
    }

    $phone = trim($_POST['billing_phone']);

    // فقط 11 رقم و شروع با 09
    if (!preg_match('/^09\d{9}$/', $phone)) {
        wc_add_notice(
            'لطفاً شماره موبایل معتبر وارد کنید. شماره باید فقط شامل 11 رقم بوده و با 09 شروع شود.',
            'error'
        );
    }
}



آموزش نصب و اجرای کد با افزونه Code Snippets

در این روش بدون نیاز به ویرایش قالب، کد را به‌صورت امن اجرا می‌کنیم.

مرحله 1: نصب افزونه Code Snippets

وارد پیشخوان وردپرس شوید:

افزونه‌ها → افزودن

سپس در قسمت جستجو بنویسید:

Code Snippets

افزونه را نصب و فعال کنید.


مرحله 2: افزودن اسنیپت جدید

بعد از فعال‌سازی:

Snippets → Add New

در این بخش:

  • یک عنوان مناسب وارد کنید:
اعتبارسنجی فرم تسویه حساب ووکامرس
  • سپس کد بالا را داخل باکس قرار دهید.

مرحله 3: تنظیم اجرا

در قسمت تنظیمات اجرا:

  • گزینه زیر را انتخاب کنید:
Run snippet everywhere

این گزینه باعث می‌شود کد در کل سایت فعال شود (خصوصاً در checkout).


مرحله 4: ذخیره و فعال‌سازی

  • روی Save Changes کلیک کنید
  • سپس اسنیپت را Activate کنید

حالا سیستم اعتبارسنجی شما فعال است.


توضیح عملکرد کد

اعتبارسنجی شماره موبایل

  • بررسی الگوی استاندارد ایران:
09XXXXXXXXX

بررسی کدپستی

  • فقط عدد
  • دقیقاً 10 رقم

نام و نام خانوادگی

  • فقط حروف فارسی
  • جلوگیری از ورود عدد و حروف انگلیسی

! تذکرات مهم قبل از استفاده

قبل از فعال‌سازی این کد، حتماً موارد زیر را رعایت کنید:

1. بکاپ کامل سایت

قبل از هر تغییر:

  • بکاپ کامل از فایل‌ها و دیتابیس بگیرید
  • یا از افزونه‌های بکاپ مثل:
    • UpdraftPlus
    • All-in-One WP Migration

2. تست در محیط آزمایشی

اگر امکان دارید:

  • ابتدا روی سایت staging یا لوکال تست کنید

3. احتمال تداخل با افزونه‌ها

ممکن است با افزونه‌های زیر تداخل داشته باشد:

  • افزونه‌های تغییر فرم checkout
  • افزونه‌های چندمرحله‌ای پرداخت
  • فیلدهای سفارشی ووکامرس

4. تفاوت قالب‌ها

اگر قالب شما checkout را شخصی‌سازی کرده باشد:

  • ممکن است نام فیلدها متفاوت باشد
  • یا برخی validationها اعمال نشود

!رفع مسئولیت (Disclaimer)

این آموزش صرفاً جهت استفاده آموزشی ارائه شده است.

نویسنده هیچ مسئولیتی در قبال موارد زیر ندارد:

  • خرابی یا اختلال سایت
  • تداخل با قالب یا افزونه‌های دیگر
  • از دست رفتن اطلاعات
  • مشکلات احتمالی در فرآیند ثبت سفارش

مسئولیت استفاده صحیح، تست قبل از اجرا و گرفتن بکاپ کاملاً بر عهده مدیر سایت شما است.


نتیجه‌گیری

با استفاده از این آموزش و افزونه Code Snippets می‌توانید بدون تغییر در قالب، یک سیستم اعتبارسنجی حرفه‌ای برای ووکامرس ایجاد کنید. این کار باعث افزایش کیفیت سفارش‌ها، کاهش خطاهای کاربری و بهبود تجربه مشتریان می‌شود.


درباره تهیه‌کننده آموزش

هدف ما در Nadrit تولید آموزش‌های کاربردی، فایل‌های دیجیتال و محتوای آموزشی باکیفیت برای کاربران فارسی‌زبان است.

اگر این آموزش برای شما مفید بود، می‌توانید آن را با دوستان خود به اشتراک بگذارید و سوالات خود را در بخش نظرات مطرح کنید.

همه مطالب آموزشی مربوط به کامپیوتر در حال بروزرسانی می باشند و ترفند و آموزش های جدید بزودی در مطالب کامپیوتر بارگذاری میشوند

اگر نیاز به موارد سفارشی دیگر دارید، از طریق صفحه ارتباط با ما، مطرح بفرمایید.

لینک های مورد نیاز:

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سبد خرید
پیمایش به بالا