حذف فیلد های اضافی ووکامرس

حذف فیلد های اضافی ووکامرس

با سلام خدمت شما دوستان ووکامرسی عزیز . یکی از مهم ترین مسائلی که در استفاده از ووکامرس مطرح می شود حذف و اضافه (شخصی سازی) فیلد های صفحه خرید است . امروز قصد داریم طی یک آموزش مختصر و مفید به شما آموزش بدیم چطور فیلد های دلخواهتون را از ووکامرس حذف کنید . به یاری خداوند در مطالب آینده آموزش ویرایش و افزودن فیلد را نیز خواهیم داشت.

برای کار با فیلد های صفحه خرید از فیلتر woocommerce_checkout_fields استفاده می کنیم. فیلد های ووکارس در چهار زیر مجموعه اصلی تعبیه شده اند که به شرح زیر است:

  • billing
    • billing_first_name
    • billing_last_name
    • billing_company
    • billing_address_1
    • billing_address_2
    • billing_city
    • billing_postcode
    • billing_country
    • billing_state
    • billing_email
    • billing_phone
  • shipping
    • shipping_first_name
    • shipping_last_name
    • shipping_company
    • shipping_address_1
    • shipping_address_2
    • shipping_city
    • shipping_postcode
    • shipping_country
    • shipping_state
  • account
    • account_username
    • account_password
    • account_password-2
  • order
    • order_comments

برای درک بهتر موارد بالا توصیه می کنم آرایه آن را چاپ کنید تا چهار چوب آن را متوجه شوید . کد زیر آرایه فیلد ها را چاپ می کند:

add_filter( 'woocommerce_checkout_fields' , 'woocommerce_print_checkout_fields_snippets' );

function woocommerce_print_checkout_fields_snippets( $fields ) {
    print_r($fields);
    return $fields;
}

 اگر باز هم متوجه لیست بالا نشدید نگران نباشید با مثال کاربری زیر حتما تسلط کافی به این مبحث را پیدا می کنید. به عنوان مثال من میخواهم فیلد توضیحات سفارش را حذف کنم. این فیلد همان order_comments است که در درایه order قرار دارد. پس کد ما بصورت زیر می شود:

add_filter( 'woocommerce_checkout_fields' , 'woocommerce_remove_checkout_fields_snippets' );

function woocommerce_remove_checkout_fields_snippets( $fields ) {
    unset($fields['order']['order_comments']);
    return $fields;
}

کد را در فایل functions.php قالبتان ذخیره کنید و نتیجه آن را مشاهده کنید. آیا باز هم مشکلی دارید؟ خجالت نکشید بپرسید!

6 thoughts on “حذف فیلد های اضافی ووکامرس

  1. با سلام. اخیرا هنگام خرید در ووکامرس پیام خطایی ظاهر می شود مبنی ‘بر شماره موبایل معتبر نیست’ .
    درصورتی که کاربر در هنگام ورود به حساب کاربری خود در سایت شماره تلفن/موبایل را کاملا صحیح وارد کرده و اعداد آن نیز فارسی نیست.
    اگر این ایراد برطرف شده لطفا راهنمایی فرمایید و اگر نه، چه کدی را در functions.php وارد کنم که چک کردن شماره تلفن/موبایل کاربر را صرفنظر کند؟

  2. سلام

    اخیرا تغییری در سایتتون داشتید؟ (بروزرسانی افزونه یا قالب، تغییر فایل functions.php یا …)

    مشکلاتتون رو میتونید در انجمن پرشین اسکریپت مطرح کنید

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

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

نشانی ایمیل شما منتشر نخواهد شد.