آموزش وردپرس

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

آموزش ووکامرس
3.7/5 - (3 امتیاز) از ثبت نظر شما سپاسگذاریم

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

یکی از خواسته های مدیران سایت وردپرسی   امکان انتقال مستقیم کاربر به صفحه ی پرداخت , پس از اضافه کردن محصول به سبد خرید است.

یعنی کاربر , محصول مورد نظر را به سبد خرید اضافه کند و بدون این که به صفحه ی سبد خرید منتقل شود مستقیما به صفحه ی پرداخت برود.

برای این منظور  تعدادی افزونه ی خارجی موجود است که این کار را انجام می دهد.

اما انجام دادن چنین کار ساده ای نیاز به افزونه ی خاصی ندارد و می شود به راحتی با اضافه کردن چند خط کد ساده به فایل functions.php پوسته این کار را انجام داد.

برای انجام این کار دو گام خیلی ساده و آسان برمی داریم.

گام اول :

به بخش تنظیمات ووکامرس بروید ( بخش پیکربندی ). رفته و  سپس سربرگ ( تب ) “پیشرفته” را انتخاب کنید.

همان طور که می بینید در این بخش برگه های سبد خرید , پرداخت و … وجود دارد.

حالا روی قسمت برگه ی سبد خرید کلیک کرده و به جای برگه ی فعلی , برگه ی پرداخت را انتخاب کنید. این کار باعث می شود که کاربر پس از افزودن محصول به سبد خرید و کلیک روی دگمه ی “مشاهده سبد خرید” مستقیما به صفحه ی پرداخت برود.

گام دوم :

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

برای این کار باید چند خط برنامه نویسی کنیم.

کد ساده ی زیر را به فایل functions.php در پوسته ی سایت اضافه کرده و آن را ذخیره کنید.

add_action( 'woocommerce_before_checkout_form''dorpress_cart_on_checkout_page_only',5);
function dorpress_cart_on_checkout_page_only() {
if ( is_wc_endpoint_url( 'order-received' ) ) return;
echo do_shortcode('[woocommerce_cart_dorpress]');
}
add_action( 'template_redirect''dorpress_redirect_empty_cart_checkout_to_home' );
 
function dorpress_redirect_empty_cart_checkout_to_home() {
   if ( is_cart() && is_checkout() && 0 == WC()->cart->get_cart_contents_count() && ! is_wc_endpoint_url( 'order-pay' ) && ! is_wc_endpoint_url( 'order-received' ) ) {
      wp_safe_redirect(home_url());
      exit;
   }
}

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

از اکشن woocommerce_before_checkout_form برای نمایش سبد خرید در صفحه ی پرداخت استفاده کرده ایم.

از اکشن template_redirect برای ریدایرکت کردن کاربر پس از خالی شدن سبد خرید استفاده کرده ایم ( یعنی تعین کرده ایم که اگر کاربر سبد خرید را خالی کرد به کدام صفحه از سایت ریدایرکت شود. به صورت پیش فرض این کد , کاربر را به صفحه ی اصلی سایت ریدایرکت می کند اما اگر می خواهید کاربر را به جای دیگری مثل صفحه ی فروشگاه هدایت کنید می توانید این کد را ویرایش کنید ).

نکته ی مهم :

در کد بالا عبارت woocommerce_cart_dorpress را با عبارت woocommerce_cart جایگزین کنید

( عبارت نهایی : ‘woocommerce_cart’ ).

 

خب اکنون کار تمام شده است و می توانید نتیجه ی آن را ملاحظه بفرمایید.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *