امروزه بسیاری از فروشگاه‌های آنلاین به ویژه در حوزه‌های خاص مانند لوازم خانگی و… نیاز دارند تا اطلاعات هویتی و شناسنامه‌ای مشتریان خود را در فرآیند ثبت سفارش و پرداخت دریافت کنند. این امر به دلایل امنیتی، مالیاتی و همچنین رفع برخی محدودیت‌های قانونی صورت می‌پذیرد. یکی از این اطلاعات مهم، کد ملی مشتری است که باید به برگه تسویه حساب فروشگاه‌های آنلاین اضافه شود. به همین منظور، در این مقاله قصد داریم نحوه افزودن کد ملی به برگه تسویه حساب در ووکامرس را آموزش دهیم.

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

افزودن فیلد کد ملی به برگه تسویه حساب در ووکامرس

افزودن فیلد کد ملی به برگه تسویه حساب در ووکامرس به دو روش قابل انجام است که در زیر به طور کامل شرح داده خواهد شد.

افزودن فیلد کد ملی به برگه صورتحساب در ووکامرس با افزونه

اگر می‌خواهید با استفاده از افزونه فیلد کد ملی را به برگه تسویه حساب (تکمیل فرآیند خرید) اضافه نمایید، کافی است افزونه Checkout Field Editor را نصب کنید. سپس با استفاده از آن فیلد مورد نظرتان را اضافه و مدیریت نمایید. آموزش کار با این افزونه را قبلاً در مقاله‌ای تحت عنوان «تغییر فیلدهای صفحه تکمیل فرآیند خرید در ووکامرس» منتشر کردیم.

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

افزودن فیلد کد ملی به برگه تسویه حساب در ووکامرس بدون افزونه

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

حذف فیلدهای پرداخت برای محصولات مجازی در برگه تسویه حساب

قطعه کد زیر، یک تابع در زبان برنامه‌نویسی PHP است که می‌تواند اعتبار کد ملی را به راحتی بررسی کند. این تابع، کد ملی را به عنوان ورودی دریافت می‌کند و در خروجی، مقدار بولین (True یا False) را برمی‌گرداند که نشان‌دهنده معتبر یا نامعتبر بودن کد ملی است.

اگر می‌خواهید فیلد کد ملی را به صفحه تسویه حساب فروشگاه بدون نصب افزونه و با استفاده از کد اضافه کنید، قطعه کد زیر این کار را برای شما انجام خواهد داد. این کد یک فیلد شبیه فیلدهای ووکامرس به فیلدهای موجود در بخش «جزئیات صورتحساب» اضافه می‌کند. زمانی که کاربر فیلد را پر کند، کد ملی اعتبارسنجی شده و در صورت اشتباه بودن، به کاربر پیام خطا نمایش می‌دهد.

همچنین این فیلد پس از ذخیره سازی، در بخش جزئیات سفارش برای مدیر قابل نمایش خواهد بود.

نمایش کد ملی در جزئیات سفارش ووکامرس

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

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

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

سؤالات متداول

چرا افزودن کد ملی در برگه تسویه حساب ووکامرس اهمیت دارد؟
نمایش درصد تخفیف در برگه فروشگاه ووکامرس

افزودن کد ملی در برگه تسویه حساب به منظور احراز هویت کاربران انجام شده و از تقلب و سوء استفاده جلوگیری می‌کند.

چه افزونه‌ای برای افزودن فیلد کد ملی به برگه تسویه حساب استفاده می‌شود؟

افزونه‌های مختلفی برای ایجاد فیلدهای دلخواه به برگه تکمیل فرآیند خرید (تسویه حساب) وجود دارند که یکی از معروف‌ترین آن‌ها Checkout Field Editor می‌باشد.

آیا ایجاد کردن فیلد کد ملی در برگه تکمیل فرآیند خرید چالشی به همراه دارد؟

بله، ممکن است کاربران به فروشگاه مورد نظر اعتماد نکرده و کد ملی خود را وارد نکنند. به منظور رفع این مشکل لازم است مدارک الکترونیکی و معتبر فروشگاه نظیر نماد اعتماد الکترونیکی و… در بهترین بخش سایت قابل نمایش باشند.

۴.۸/۵ - (۷۵ امتیاز)

5 thoughts on “افزودن کد ملی به برگه تسویه حساب در ووکامرس

    • مدیر سایت میگوید:

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

      /**
      * Validate custom national code field during checkout process
      * This function validates the entered national code during the checkout process
      * only if the field is not empty.
      */
      function validate_custom_national_code_field()
      {
      $national_code = isset($_POST['billing_national_code']) ? sanitize_text_field($_POST['billing_national_code']) : '';
      // Only validate if the national code field is not empty
      if (!empty($national_code)) {
      if (!check_national_code($national_code)) {
      wc_add_notice(__('The entered national code is not valid.', 'woocommerce'), 'error');
      }
      }
      }

      add_action('woocommerce_checkout_process', 'validate_custom_national_code_field');

دیدگاهتان را بنویسید

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