خدمات تخصصی وردپرس؛ از رفع خطا تا توسعه اختصاصی بررسی خدمات

کد محدود کردن حداکثر طول فیلد توضیحات و یادداشت سفارش در ووکامرس

نوع ساختار هوک و اکشن استاندارد PHP
محل قرارگیری functions.php یا افزونه اختصاصی
نسخه تست‌شده وردپرس ۶.x / PHP 8.1+ / ووکامرس
تاثیر سرعت کاملاً سبک، بدون افت TTFB

صورت مسئله: نوشتن متن‌های بی‌نهایت طولانی و به هم ریختن فاکتور

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

راهکار فنی و شیوه عملکرد کد

با استفاده از فیلتر قدرتمند woocommerce_checkout_fields در ووکامرس، مشخصه maxlength و اعتبارسنجی را روی فیلد order_comments اعمال می‌کنیم تا مشتری نتواند بیش از حد مجاز (مثلاً ۲۰۰ کاراکتر) تایپ کند.

قطعه کد استاندارد محدودسازی طول فیلد یادداشت سفارش

کد فیلتر زیر را در سایت ووکامرسی خود درج کنید:

/*
 * Limit Order Notes Character Length in WooCommerce Checkout
 * Sets maxlength and placeholder hint to prevent spam and formatting issues
 * Mahdi Jafarzadeh | WPWM
 */

add_filter('woocommerce_checkout_fields', 'wpwm_limit_order_notes_length');
function wpwm_limit_order_notes_length($fields) {
    // تعیین سقف حداکثر کاراکتر مجاز (قابل تنظیم)
    $max_length = 200;
    
    if (isset($fields['order']['order_comments'])) {
        $fields['order']['order_comments']['maxlength']   = $max_length;
        $fields['order']['order_comments']['placeholder'] = sprintf('یادداشت یا توضیحات سفارش (حداکثر %d کاراکتر)...', $max_length);
    }
    
    return $fields;
}

// اعتبارسنجی سمت سرور در صورت دور زدن فرانت‌اند
add_action('woocommerce_after_checkout_validation', function($data, $errors) {
    if (!empty($data['order_comments']) && mb_strlen($data['order_comments']) > 200) {
        $errors->add('validation', 'توضیحات سفارش نمی‌تواند بیش از ۲۰۰ کاراکتر باشد.');
    }
}, 10, 2);

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

  1. کد را به فایل functions.php قالب یا پلاگین اختصاصی خود اضافه کنید.
  2. به صفحه تسویه حساب بروید و فیلد توضیحات را تست کنید تا محدودیت تعداد کاراکتر را مشاهده نمایید.

نکات مهم ایمنی و نگهداری

  • عدد ۲۰۰ کاراکتر برای نوشتن مواردی مانند ساعت تحویل یا تذکر به پیک کاملاً استاندارد و کافی است. در صورت تمایل می‌توانید عدد را در دو خط کد بالا تغییر دهید.
  • به دلیل داشتن ولیدیشن سمت سرور (Server-side validation)، حتی در صورت دستکاری HTML توسط کاربران، هیچ متنی بیشتر از سقف ذخیره نخواهد شد.

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

خدمات تخصصی وبمستر وردپرس

طراحی و توسعه افزونه‌های اختصاصی ووکامرس

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

درباره مهدی جعفرزاده

مهدی جعفرزاده، برنامه‌نویس ارشد و متخصص بهینه‌سازی، سئو فنی و امنیت وردپرس در مرجع WPWM. توسعه‌دهنده ابزارها و کدهای سبک بدون وابستگی به افزونه‌های تجاری سنگین.

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

دیدگاه‌ها و پرسش‌ها

پاسخ‌ها، تجربه‌ها و دیدگاه‌های کاربران در یک گفت‌وگوی منظم.

0 دیدگاه
دیدگاه خود را بنویسید پرسش یا تجربه‌تان را با دیگران به اشتراک بگذارید.
ایمیل شما منتشر نمی‌شود.

گفت‌وگوهای کاربران

جدیدترین دیدگاه‌ها در ابتدا
    این گفت‌وگو با شما شروع می‌شود.

    اولین پرسش یا تجربه را ثبت کنید؛ ایمیلتان نمایش داده نمی‌شود.

    فهرست محتوا

    حساب کاربری وبمستر

    ورود یا ساخت حساب

    برای ثبت سفارش، دریافت فایل‌ها و پیگیری خدمات وارد حساب شوید.

    1. شماره موبایل
    2. تأیید شماره
    3. تکمیل حساب
    کد ورود برای این شماره پیامک می‌شود.

    ورود با رمز عبور