ایجاد یک نوع محصول سفارشی ووکامرس

زهرا فنودی وردپرس, ووکامرس 2020/12/04 231 0

ایجاد یک نوع محصول سفارشی ووکامرس

Create a custom WooCommerce product type

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

ایجاد یک نوع محصول سفارشی WooCommerce می تواند یک روش عالی برای کنترل دقیق تر انواع محصولات و نحوه فروش آنها (یا آنچه که ارائه می دهند) باشد.

انواع محصولات می توانند موارد مختلفی مانند رزرو ، اشتراک ، بلیط یا موارد کاملاً متفاوت باشند. اگر می خواهید نحوه ساخت نوع محصول پیشرفته را بیاموزید ، از شما دعوت می کنم برخی از انواع محصولات محبوب ترین افزونه های WooCommerce مانند اشتراک های WooCommerce یا WooCommerce Bookings را بخوانید.

ایجاد یک نوع محصول سفارشی ووکامرس

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

نحوه ایجاد نوع محصول سفارشی WooCommerce :

  • کلاس جدید WooCommerce Type Type را تعریف کنید.
  • نوع را به فیلتر نوع محصول WooCommerce اضافه کنید
  • نوع را به عنوان طبقه بندی نوع محصول اضافه کنید
  • روشهای رفکتور
  • افزودن تنظیمات جدید
  • ذخیره کردن تنظیمات جدید

این مراحل اساسی است و موارد بسیاری وجود دارد که احتمالا با کدگذاری آنها خواهید فهمید. سعی می کنم با کد اسکلتی که در اینجا ایجاد خواهیم کرد ، چند ساعت در شما صرفه جویی کنم.

قبل از شروع کدگذاری ، به wp-content / plugins بروید و یک پوشه از wc-product-type ایجاد کنید و در داخل آن این را ایجاد کنید:

  • فایل  wc-product-type.php
  • فولدر includes
  • فایل includes/class-wc-product-advanced.php

1- نوع محصول WooCommerce را تعریف کنید:

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

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

با در نظر گرفتن این موضوع ، می توانیم نوع محصول ووکامرس خود را در بالای نوع محصول Simple کد کنیم.

کد زیر را در فایل  wc-product-type.php وارد کنید:

ما پس از بارگیری WooCommerce با استفاده از عملکرد woocommerce_loaded ، تمام وابستگی های WC را بارگیری خواهیم کرد. این اطمینان می دهد که وقتی نوع محصول خود را وارد می کنیم ، انواع محصول WooCommerce قبلا وجود داشته باشد.

توجه: فعال سازی افزونه را فراموش نکنید تا بتوانید تغییرات را مشاهده کنید.

اکنون ، پرونده دیگر includes/class-wc-product-advanced.php را باز کنید و قطعه کد زیر را وارد کنید:

این برای  هر نوع محصول ماست. ما روش get_type را برای بازگشت نوع محصول refactor می کنیم و get_price را نیز refactor می کنیم. ما می توانستیم آن را فیلتر کنیم ، اما برای هدف این آموزش ، من می خواستم به شما نشان دهم که در صورت نیاز می توانید روش های ارث بری را کاملا تغییر دهید.

به این ترتیب ، ما از همه فیلترها فرار می کنیم و قیمت را برای اعضا عودت می دهیم. اکنون که نوع محصول خود را داریم ، بیایید آن را با WooCommerce متصل کنیم.

2- افزودن نوع محصول در لیست کشویی

ما باید انواع محصولات موجود ووکامرس را فیلتر کرده و محصولات خود را اضافه کنیم. به این ترتیب کاربر می تواند نوع محصول ما را انتخاب کند.

بیایید اکنون این مورد را به پرونده پلاگین اصلی خود اضافه کنیم:

3- افزودن نوع محصول به عنوان طبقه بندی نوع محصول ووکامرس

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

4- افزودن قیمت گذاری پیشرفته محصول

برای افزودن قیمت گذاری جدید ، آن را به برگه عمومی ، در زیر گزینه های دیگر قیمت گذاری می کنیم.

ایجاد یک نوع محصول سفارشی ووکامرس

اکنون ما در اینجا مسئله ای داریم که قیمت گذاری ما نشان داده نمی شود.

  خوب ، اینجا چه مشکلی وجود دارد؟ WooCommerce از JavaScript برای نمایش مشروط برگه ها و محتوا استفاده می کند. در صورت وجود options_group که show_if_ad Advanced وجود دارد ، تب General نشان داده می شود. بیایید یک عنصر خالی به صفحه تب General اضافه کنیم.

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

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

  1. قیمت گذاری را با JavaScript نشان دهید
  2. گزینه های جدید قیمت گذاری منظم (با نام های مختلف) ایجاد کنید و از طریق جاوا اسکریپت به تغییرات گوش دهید و موارد عادی را نیز به روز کنید.

ما با اولین گزینه پیش خواهیم رفت.

نمایش گزینه های قیمت گذاری منظم برای نوع محصول سفارشی ووکامرس:

برای نشان دادن گزینه های قیمت گذاری منظم ، باید کلاس show_if_ad Advanced را به آن options_group اضافه کنیم و همچنین اگر محصول فعلی Advanced است ، آنها را بارگذاری نشان دهیم.

اکنون ، ما این مشکل را برطرف کردیم و همه گزینه های قیمت نشان داده می شوند.

افزودن برگه و پنل نوع محصول:

بیایید اکنون برگه و صفحه مربوط به نوع محصول WooCommerce خود را اضافه کنیم.

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

تنظیمات نوع محصول WooCommerce را ذخیره کنید:

بیایید اکنون با یک فرآیند صرفه جویی در WooCommerce ارتباط برقرار کنیم تا بتوانیم داده های خاص نوع محصول WooCommerce را ذخیره کنیم.

WooCommerce برای پردازش داده های خاص برای یک نوع محصول از تابع woocommerce_process_product_product_meta_ {PRODUCT_TYPE} استفاده می کند.

در اینجا ، می توانید روند ذخیره خود را برای داده های خاصی که می خواهید ذخیره کنید اضافه کنید. اکنون شما یک نوع محصول WooCommerce سفارشی کاملاً فعال دارید.

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

ایجاد یک نوع محصول سفارشی ووکامرس

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

توجه

کلیک

اگر با این مشکل آشنا هستید خودتان انجام دهید ولی اگر نمی دانید که این کار را چطور انجام دهید می توانید هم اکنون در ناحیه کاربری ثبت نام کرده و اطلاعات سایت را تیکت کنید تا با اندک هزینه ای کار شما را انجام دهیم . اگر خواستید می توانید برای مشاوره با شماره های ۰۹۱۷۹۰۵۹۳۵۰ و یا ۰۹۳۹۸۶۹۵۲۳۸ با ما در ارتباط باشید.



نظرات ( 0 )

برای ارسال نظر باید وارد حساب کاربری خود شوید

کلیه حقوق برای وب سایت پنگاش محفوظ می باشد و هر گونه کپی برداری پیگرد قانونی دارد.
stats
تماس