آیا می خواهید به مشتریان اجازه دهید سفارشات خود را در فروشگاه ووکامرس لغو کنند؟ تا انتهای این پست با ما باشید، زیرا این پست قصد دارد راه حلی را ارائه دهد که ما به طور خاص برای حل این مشکل ارائه کرده ایم. ما از افزونه خاصی برای انجام این کار استفاده نمی کنیم. بنابراین، برای پیاده سازی این راه حل شما نیاز به تجربه برنامه نویسی دارید. با این حال، ما هر مرحله را به طور مفصل توضیح می دهیم تا به شما کمک کند.
اگر محصولات یا خدمات فیزیکی را بصورت آنلاین می فروشید ، احتمال اینکه سفارشات مشتریان بهم بخورد وجود دارد. این بدان معناست که صاحب فروشگاه باید این سفارشات را لغو کند. خوشبختانه ووکامرس به شما امکان می دهد هر سفارشی را به راحتی لغو کنید. با این حال ، مشتری برای لغو باید با شما تماس بگیرد. این بدان معناست که آنها باید اطلاعات خود را در اختیار شما قرار دهند، و سپس می توانید به سفارشات بروید و سفارشی را که می خواهید حذف کنید, پیدا کنید.
اگر این امر به طور منظم اتفاق می افتد، پس می تواند بسیار خسته کننده باشد، به خصوص اگر سفارشات زیادی داشته باشید. به همین دلیل است که باید به مشتریان خود اجازه دهید تا سفارشات خود را لغو کنند تا این کار برای شما راحت تر شود. با این حال ، WooCommerce این قابلیت را ندارد. به همین دلیل ما این پست را برای کمک به شما ایجاد کردیم.
چگونه مشتری می تواند سفارش ووکامرس را لغو کند
در پایان این پست، می توانید به مشتریان خود اجازه دهید سفارشات خود را لغو کنند. برای دستیابی به این هدف، ما باید فایلهای اصلی ووکامرس را تغییر دهیم. بنابراین، شما باید یک تم کودک را در وردپرس خود نصب یا ایجاد کنید. این امر باعث می شود که تغییرات شما در حین بروزرسانی از بین نرود.
مراحل اجازه به مشتریان برای لغو سفارشات در ووکامرس
- به حساب کاربری وردپرس خود وارد شوید و به پنل مدیریت کل بروید.
- از منوی نمایش, زیر منوی ویرایشگر پوسته را انتخاب کنید.
- فایل functions.php مربوط به پوسته را باز کنید و کدهای زیر را برای ایجاد این تغییر به انتهای این فایل اضافه کنید, تا بتوانید به مشتریان خود اجازه بدهید تا سفارشات خود را به صورتی دستی لغو کنند.
add_filter( 'woocommerce_valid_order_statuses_for_cancel', 'njengah_valid_order_statuses_for_cancel', 10, 2 ); function njengah_valid_order_statuses_for_cancel( $statuses, $order ){ //در اینجا وضعیت سفارشات را در جایی که می خواهید دکمه لغو ظاهر شود ، تنظیم کنید $custom_statuses = array( 'completed', 'pending', 'processing', 'on-hold', 'failed' ); // تأخیر (در روز) را در اینجا تنظیم کنید $duration = 3; // 3 روز // UPDATE: شناسه سفارش و شی WC_Order را دریافت کنید if( isset($_GET['order_id'])) $order = wc_get_order( absint( $_GET['order_id'] ) ); $delay = $duration*24*60*60; // (مدت زمان در ثانیه) $date_created_time = strtotime($order->get_date_created()); // stamp تاریخ ایجاد $date_modified_time = strtotime($order->get_date_modified()); // stamp تاریخ اصلاح شده $now = strtotime("now"); // stamp زمان حال // استفاده از stamp تاریخ ایجاد if ( ( $date_created_time + $delay ) >= $now ) return $custom_statuses; else return $statuses; }
- سر آخر نتیجه نهایی به صورت زیر خواهد بود.