در پست قبلی ، نحوه ایجاد برنامه ووکامرس به صورت برنامه نویسی را با شما به اشتراک گذاشتم. در حال حاضر ، اگر می خواهید محصول را به صورت برنامه ای در ووکامرس به سبد خرید اضافه کنید ، می توانید با افزودن یک قلاب عمل و یک تابع callback با منطق اضافه کردن محصول به سبد خرید به صورت برنامه ای به این امر برسید. در حالت ایده آل ، می خواهید محصول را بعد از وقوع یک محصول به سبد خرید اضافه کنید و افزودن خودکار به سبد را فعال کنید.
ووکامرس محصول را به صورت برنامه ای به سبد خرید اضافه کنید
بسته به آنچه می خواهید به دست آورید ، قبل از اینکه محصول را به سبد خرید اضافه کنید ، چندین رویداد وجود دارد که می توانید به آنها متصل شوید. یکی از متداول ترین قلاب هایی که می توانید از آن استفاده کنید قلاب template_redirect است که قبل از تعیین الگوی بارگذاری شلیک می شود.
اگر به دنبال مثال در مورد نحوه افزودن محصول به سبد خرید به صورت برنامه ای هستید ، من در این آموزش سریع توضیح می دهم و قطعه کد را که می توانید به functions.php یا فایل های افزونه خود اضافه کنید ، به اشتراک گذاشتن محصول برای افزودن خودکار به سبد خرید به اشتراک می گذارم.
نمونه قلاب تغییر مسیر الگو
همانطور که در بالا اشاره کردم ، باید تعیین کنید که چه زمانی می خواهید محصول به طور خودکار به سبد خرید اضافه شود ، بر اساس آنچه می خواهید در منطق خود به آن برسید.
یک مثال خوب این است که محصول می تواند به صورت خودکار در صورت تغییر مسیر صفحه به سبد خرید اضافه شود. این را می توان با استفاده از قلاب تغییر مسیر قالب مانند کد زیر به دست آورد:
add_action( 'template_redirect', 'sevencloner_add_to_cart_programmatically');
کد برای افزودن خودکار محصول به سبد خرید
اکنون ما باید کدی را اضافه کنیم که بررسی می کند سبد خرید خالی است ، سپس محصول خاص را به سبد خرید اضافه کرده و احتمالاً به پرداخت یا هر صفحه دیگری که ممکن است بخواهیم کاربر پس از افزودن خودکار محصول به سبد خرید به آن هدایت شود ، هدایت شود.
در زیر قطعه کد است که بررسی می کند سبد خرید خالی است و سپس محصول مورد نظر ما را اضافه می کند (در این صورت باید Product_Id را جایگزین کنید) با شناسه واقعی محصول برای کالایی که می خواهیم به صورت خودکار به سبد خرید اضافه کنیم.
WC()->cart->empty_cart(); // بررسی کنید که سبد خرید خالی است WC()->cart->add_to_cart( Product_ID ); // این محصول را با شناسه اضافه می کند; we can also add a second variable which will be the variation ID wp_safe_redirect( wc_get_checkout_url() ); // به صفحه پرداخت هدایت می شود exit(); // با خیال راحت عملکرد را می بندد
همانطور که در کد بالا مشاهده می کنید ، وقتی محصول به سبد خرید اضافه می شود ، می توانیم صفحه دیگری را تغییر مسیر دهیم ، مانند این مورد که پس از افزودن محصول به سبد خرید ، به صفحه پرداخت هدایت می شویم.
قطعه کد کامل برای افزودن محصول به سبد خرید از طریق برنامه نویسی
برای اینکه کد بالا کار کند ، باید آن را در تابع فراخوانی call of action hook که در مرحله اول ایجاد کردیم بپیچیم تا محصول در رویداد template_redirect به طور خودکار به سبد خرید اضافه شود.
در این مورد ، کد کامل شامل قلاب عمل و عملکرد تماس با کد برای افزودن محصول به سبد خرید به شرح زیر است:
//قلاب اکشن add_action( 'template_redirect', 'njengah_add_to_cart_programmatically'); //Callback Function function sevencloner_add_to_cart_programmatically(){ WC()->cart->empty_cart(); // بررسی کنید که سبد خرید خالی است WC()->cart->add_to_cart( Product_ID ); // این محصول را با the ID; we can also add a second variable which will be the variation ID wp_safe_redirect( wc_get_checkout_url() ); // تغییر مسیر به the checkout page exit(); // با خیال راحت عملکرد را می بندد }
نتیجه
در این پست ، ما نحوه چگونگی افزودن خودکار محصول به سبد خرید در رویدادهای خاص ووکامرس یا WordPress را بررسی کرده ایم. این می تواند با تغییر قلاب عمل متفاوت باشد و همچنین می تواند برای طیف گسترده ای از موارد استفاده شده در قالب یا افزونه سفارشی ووکامرس شما گسترش یابد. اگر می خواهید این کد به پروژه شما اضافه شود و نمی دانید چگونه این کار را انجام دهید ، می توانید برای کمک بیشتر با من تماس بگیرید.