لغو شدن اتوماتیک سفارشات ووکامرس

opdisweb

تازه وارد
سلام روزتون بخیر من یه سایت دارم سفارشات ووکامرس به صورت اتوماتیک لغو نمیشن به نظر شما باید چیکار کنم؟
همه سفارشات از اول در انتظار پرداخت میمونن معمولات سفارشات ووکامرس به صورت اتوماتیک لغو میشن اگر کابر بعد از چند ساعت پرداخت انجام نده
 

amin.hajihasani

تازه وارد
سلام، اینجا دو حالت مطرحه یک: در اصل شما روشی میخواهید که سفارشات لغو شده یا درحال پردازش و ناموفق بعد از گذشت مدت زمان معینی بطور خودکار حذف شوند. و یا حالت دوم: محصولات on hold رو میخواهید لغو کنید که اگر مشکلتون حالت دوم هست بهتره رو مطالعه کنید. در غیر اینصورت از بابت حالت اول:
کد زیر را به فایل Functions.php قالب اضافه بفرمایید:
کد:
function update_order_status( $order_id ) {
$order = new WC_Order( $order_id );
$order_status = $order->get_status();
 
if ('cancelled' == $order_status || 'failed' == $order_status ||   'pending' == $order_status ) {
        $current_time = date('h:i:s');   
 
        sleep(600);       //   برابر با ۱۰ دقیقه
 
        wp_delete_post($order_id,true);   
   }
 

opdisweb

تازه وارد
سلام خیلی ممنون لطف کردید من به نتیجه رسید
من میخواستم بعد از مثلا یک ساعت سفارشاتی که داخل سایت در انتظار پرداخت هستن رو لغو کنه که پیدا کردم با کمک شما باید از قسمت
ووکامرس >> پیکربندی >> فعال کردن موجودی انبار رو تیکش رو میزاشتم که تیک نداشت تو سایت من
 

MahdiY

راهبر انجمن
سلام، اینجا دو حالت مطرحه یک: در اصل شما روشی میخواهید که سفارشات لغو شده یا درحال پردازش و ناموفق بعد از گذشت مدت زمان معینی بطور خودکار حذف شوند. و یا حالت دوم: محصولات on hold رو میخواهید لغو کنید که اگر مشکلتون حالت دوم هست بهتره رو مطالعه کنید. در غیر اینصورت از بابت حالت اول:
کد زیر را به فایل Functions.php قالب اضافه بفرمایید:
کد:
function update_order_status( $order_id ) {
$order = new WC_Order( $order_id );
$order_status = $order->get_status();

if ('cancelled' == $order_status || 'failed' == $order_status ||   'pending' == $order_status ) {
        $current_time = date('h:i:s');  

        sleep(600);       //   برابر با ۱۰ دقیقه

        wp_delete_post($order_id,true);  
   }
سلام
منطق کد اشتباه است. استفاده از تابع sleep صحیح نیست.
 
بالا