عضویت


وارد شوید


ساختن فیلد جدید در صفحه پرداخت ووکامرس

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

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

خب این آموزش رو به ۲ قسمت تقسیم می کنم قسمت اول کد هارو بخش بخش توضیح می دم و در قسمت دوم قطعه کامل کد رو قرار می دم .

 

نکته : کاربران گرامی لطفا بخش اول رو مطالعه کنید و یاد بگیرید در مرحله بعد سراغ قسمت دوم بروید . کد ها آسان هستند و به صورت روان توضیح خواهم داد . با ما همراه باشید

 

 

۱ راهنمای استفاده از کدها

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

 

۲ توضیح کد ها در بخش های کوچک تر

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

 

۲ - ۱ ساختن فیلد های موردنیاز در ووکامرس

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

 

 

نکته : بعلت این که بنده ۵ عدد فیلد ساختم و کد ایحاد کردن فیلد شبیه هم و تکرار شده است من یک عدد از کد ساخته شدن فیلد ها رو کامل توضیح میدم و شما خودتون مثل بنده می تونید هر چند عدد فیلد نیاز داشتید درست کنید .

نکته : خط های ۱ تا ۱۲ فیلد نوع شخص  ، خط های ۱۳ تا ۲۲ فیلد کد ملی ، خط های ۲۳ تا ۳۲ فیلد شناسه ملی ، خط های ۳۳ تا ۴۲ فیلد کد اقتصادی و خط های ۴۳ تا ۵۲ فیلد نام شرکت هستند .

 

خط ۱ : یک تابع بنام itlibrary_add_select_checkout_field ایجاد کردم برای درست کردن فیلد داخل آن .

خط ۲ : یک آرایه تعریف کردم که شامل تابع های از پیش تعریف شده ی ووکامرس برای ساختن فیلد هستش .

خط ۳ : اولین تابع برای انتخاب کردن نوع فیلد تابع type می باشد که ۴ مقدار می گیرد ( text , textarea , password , select ) که در اینجا بنده نوع فیلدم رو select قرار دادم .

خط ۴ : در این قسمت برای فیلدم class مشخص کردم .

خط ۵ : توسط تابع label یک توضیح کوتاه برای کاربر مشخص کردم که متوجه بشه چه اطلاعاتی باید وارد بکند .

خط ۶ , ۷ , ۸ , ۹ : تابع options زیر گزینه های فیلد select را مشخص می کند و بنده ۲ زیر گزینه اضافه کردم بنام های حقیقی و حقوقی که صفت name هر کدام را به ترتیب real و legal قرار دادم که بتونم در php به داده های درون آن ها دسترسی داشته باشم .

خط ۱۰ : تابع آخری در تعریف این فیلد که required نام دارد برای این است که پر کردن فیلد اجباری باشد یا اختیاری .

 

 

۲ - ۲ ساختن باکس برای فیلد ها در ووکامرس

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

 

خط ۱ : از طریق تابع add_action مشخص می کنیم که کد هایمان کجای صفحات ووکامرس قرار بگیرند . به این شکل که آرگومان اول نام محل های از پیش تعیین شده ووکامرس ( Woocommerce Hook ) و آرگومان دوم نام تابع خودمان را میزنیم که حاوی کد ها و فیلد هایمان است .

خط ۲ : تابع خودم را تعریف کردم .

خط ۳ , ۴ , ۶ , ۷ , ۱۲ : در این قسمت توسط تابع echo ساختار باکس های خود را میسازیم دقت کنید برای باکس ها id تعریف کنید چون می خواهیم از طریق jquery عملیات روی آن ها انجام دهیم .

خط ۵ , ۸ , ۹ , ۱۰ , ۱۱ : در این پنج خط از یک تابع مشخص ووکامرس بنام woocommerce_form_field استفاده کردم . کار این تابع ایجاد کردن یا دسترسی به فیلد های ایجاد شده می باشد .

 

این تابع که در زیر شکل پیش فرض آن را قرار دادم تا تشریح کنم چه مقدار هایی دریافت می کند ، سه آرگومان می گیرد اولی $key ( نام فیلد ) و دومین آرگومان تابع از نوع آرایه $args میباشد که می توان به دو صورت مقدار دهی کرد :

۱ : از آرایه استفاده کرد برای تعریف فیلد جدید .

۲ : فیلدی که قبلا در یک تابع ساخته اید رو اینجا فراخوانی کنید ( که بنده در این آموزش از همین روش استفاده کردم ) .

و در نهایت آرگومان سوم $value = null که مقدار وارد شده توسط کاربر رو در خودش ذخیره می کند و به این صورت $checkout->get_value( ‘code_meli’ ) نوشته می شود .

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

خط ۱۴ , ۱۵ : تگ script و function jquery رو باز کردم برای نوشتن کد های jquery موردنیازم .

خط ۱۶ : بعد از بارگذاری کامل صفحه ، فیلد کد ملی توسط تابع show در سرعت ۰ میلی ثانیه نشان داده شود .

خط ۱۷ : بعد از بارگذاری کامل صفحه ، فیلد های شناسه ملی ، کد اقتصادی و نام شرکت از طریق تابع hide در سرعت ۰ میلی ثانیه پنهان شوند .

خط ۱۸ : اگر فیلد نوع شخص مقدارش تغییر کرد کد های زیر اجرا شوند .

خط ۱۹ : یک شرط قرار دادم که اگر فیلد نوع شخص مقدارش برابر شد با real ( حقیقی ) کد های درون شرط اجرا شوند .

خط ۲۰ : باکس #fattura-field که حاوی فیلدهای کد ملی ، شناسه ملی ، کد اقتصادی و نام شرکت است فقط با کد ملی بصورت انیمیشن اسلایدی ( slideDown ) نمایش داده شوند .

خط ۲۱ : فیلد های شناسه ملی ، کد اقتصادی و نام شرکت با انیمیشن اسلایدی ( slideUp ) پنهان شوند .

خط ۲۲ : در غیر این صورت اگر فیلد نوع شخص مقدارش برابر شد با legal ( حقوقی ) .

خط ۲۳ : باکس #fattura-field و فیلدهای شناسه ملی ، کد اقتصادی و نام شرکت با انیمیشن اسلایدی ( slideDown ) نمایش داده شوند .

خط ۲۴ : فیلد کد ملی با انیمیشن اسلایدی ( slideUp ) پنهان شود .

خط ۲۵ تا ۳۰ : بستن کد های باز شده بالا می باشند .

 

 

۲ - ۳ بررسی و اعتبار سنجی فیلد های اجباری در ووکامرس

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

 

خط ۱ : توسط تابع add_filter مشخص می کنیم که بعد از انجام شدن  پردازش خاصی در ووکامرس ، عملیات مدنظر ما هم انجام شود ( وقتی کاربر روی دکمه ثبت سفارش کلیک کند آن وقت این تابع ما فراخوانی می شود و عمل می کند ) .

خط ۲ : تابع خود را تعریف کردیم .

خط ۳ : یک شرط قرار می دهیم با این عنوان ، که اگر فیلد نوع شخص ( typeperson ) مقدارش برابر بود با حقیقی ( real ) .

خط ۴ : یک شرط دیگر درون شرط بالا قرار می دهیم با این عنوان که اگر فیلد کد ملی وارد نشده بود و خالی بود .

خط ۵ : پیغام کد ملی یک فیلد الزامی است توسط تابع wc_add_notice ووکامرس به کاربر نمایش داده شود .

خط ۶ : در غیر این صورت اگر فیلد نوع شخص ( typeperson ) مقدارش برابر بود با حقوقی ( legal ) .

خط ۷ : و دوباره یک شرط دیگر درون شرط فوق قرار می دهیم که اگر فیلد شناسه ملی وارد نشده بود و خالی بود .

خط ۸ : پیغام شناسه ملی یک فیلد الزامی است به کاربر نمایش داده شود .

خط ۹ , ۱۰ : بستن کد های باز شده بالا می باشند .

 

 

۲ - ۴ ذخیره کردن مقدار فیلد ها در ووکامرس

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

نکته : بعلت این که بنده روی localhost این آموزش رو تهیه کردم نتونستم این قسمت رو تست کنم ولی به احتمال زیاد کد زیر مشکلی نخواهد داشت .

 

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

 

خط ۱ : توسط تابع add_filter مشخص می کنیم که بعد از انجام شدن  پردازش خاصی در ووکامرس ، عملیات مدنظر ما هم انجام شود ( هنگامی که یک سفارش بخواهد ایجاد و تنظیم شود آن وقت این تابع ما فراخوانی می شود و عمل می کند ) .

خط ۲ : تابع خودم را تعریف کردم .

خط ۳ : شرط قرار دادم که اگر فیلد نوع شخص انتخاب شده بود و خالی نبود .

خط ۴ : و اگر فیلد نوع شخص برابر بود با حقیقی ( real ) کد درون شرط اجرا شود .

خط ۵ : توسط تابع ووکامرس update_meta_data که سه مقدار میگیرد و ما در اینجا دو مقدار رو تعیین کردیم اولی نام فیلد و دومی مقدار وارد شده توسط خریدار یا همان ( value ) فیلد ، اطلاعات را در پایگاه داده ذخیره می کنیم .

خط ۷ : از طریق تابع get_customer_id ووکامرس که آی دی مشتری رو چاپ می کند یک شرط قرار می دهیم که اگر سفارش انجام شد توسط مشتری با آی دی فلان کد درون شرط اجرا شود .

خط ۸ : برای بروزرسانی اطلاعات نمایشی سمت کاربر از تابع update_user_meta وردپرس استفاده کردم که اولین آرگومان آن آی دی کاربر است و دومین آرگومان نام فیلد و سومین آرگومان مقدار وارد شده توسط مشتری در فیلد می باشد .

خط ۱۰ : در پی شرط بالا که گفتیم اگر فیلد نوع شخص برابر بود با حقیقی ( real ) عملیات فوق انجام شوند در اینجا میگیم در غیر اینصورت اگر فیلد نوع شخص برابر بود با حقوقی ( legal ) کد های درون شرط اجرا شوند .

 

 

۳ کد کامل ساختن فیلد جدید در صفحه پرداخت ووکامرس

 

کپی برداری با ذکر منبع وب سایت itlibrary.ir بلا مانع است ، سوالی در مورد مطلب آموزشی ساختن فیلد جدید در صفحه پرداخت ووکامرس woocommece داشتید در قسمت نظرات ذکر کنید . موفق باشید

fl studio , Functions.php , itlibrary , learning fl studio , master , mixer , sample , vst , آموزش , آهنگسازی , اضافه کردن خودکار محصول مورد نظر به سبد خرید , اضافه کردن فیلد سفارشی به صفحه ویرایش آدرس ووکامرس , اضافه کردن نوع پرداخت به ایمیل ادمین وکامرس , اضافه کردن واحد پول سفارشی در ووکامرس + نماد , اف ال استودیو , الزامی کردن فیلد ها در صفحه پرداخت , اموزش آهنگسازی , بهترین زبان های برنامه نویسی , تغییر تعداد ردیف نمایش محصولات ووکامرس , تغییر تعداد ستون نمایش محصولات ووکامرس , تغییر لوگو پیش فرض پی پال در ووکامرس , تغییر متن " رایگان " در محصولات ووکامرس , تغییر متن دکمه اضافه کردن به سبد خرید , تغییر متن ناموجود با اتمام موجودی , تغییر نام تب های صفحه محصول , تغییر نام عنوان صفحه فروشگاه , تنظیمات درایور اف ال استودیو , تنظیم حداقل مقدار سفارش مشتری , تنظیم کارت صدا , جهان , حذف تنظیمات پیش فرض ووکامرس , حذف دسته بندی محصولات از صفحه فروشگاه ووکامرس , حذف عنوان محصولات از breadcrumb ( مسیر کاربر ) , حذف محصولات دسته ای خاص از صفحه فروشگاه , حذف مسیر کاربر ووکامرس ( BreadCrumb ) , ریدایرکت کردن ( تغییر مسیر ) کاربر به صفحه پرداخت پس از اضافه کردن محصول , زبان های برنامه نویسی , سال ۲۰۱۹ , سفارشی سازی , سفارشی سازی قسمت های مختلف ووکامرس , سفارشی سازی ووکامرس , سفارشی کردن , سفارشی کردن ووکامرس , سمپل , شورت کد , شورت کدهای ووکامرس , صدا , ضبط صدا , ضبط وکال , غیر فعال کردن تب های ووکامرس ( توضیحات ، نقد و بررسی و ... ) , فایل Functions.php , قالب وردپرسی , قسمت دوم , محدود کردن فهرست کشورها در صفحه پرداخت , مطلب آموزشی , معرفی ۱۰ , میکروفن , میکسر , هکر , ووکامرس , وکال , وی اس تی , پاپ فیلتر , پنهان کردن روش های پرداخت برای محصولات رایگان , کارت صدا , کتابخانه فناوری اطلاعات , کد های سفارشی کردن ووکامرس قسمت اول , کد های سفارشی کردن ووکامرس قسمت دوم , کد های سفارشی کردن ووکامرس قسمت سوم , کدهای ووکامرس

کتابخانه فناوری اطلاعات را همراهی کنید

حسین  

استیو جابز : صبور باش چیز های خوب زمان می برد ، امپراطوری ها یک روزه ساخته نمی شوند .