علیرضا رستگار

حذف اطلاعات Scheduled Actions در ووکامرس

حذف اطلاعات Scheduled Actions در ووکامرس

یکی از مواردی که در ووکامرس وجود داره در بخش اقدامات برنامه‌ریزی شده یا همون Scheduled Actions تعداد زیادی اقدامات در وضعیت‌های مختلف ailed , canceled, pending یا complete وجود دارد که اگر آنها را پاکسازی نکنیم حجم زیادی دیتا در جداول دیتابیس خواهد ماند که علاوه بر گرفتن فضا دیتابیس و شلوغی آن در بعضی موارد باعث کاهش سرعت عملکرد سایت بخصوص در زمان بروزرسانی دیتابیس ووکامرس بعد از آپدیت می‌گردد.

WooCommerce Scheduled Actions 2

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

اگر نمی‌دانید این بخش در کجا قرار دارد می‌توانید این مسیر را طی کنید: ووکامرس وضعیت  Scheduled Action

 

حال چطور داده‌های Scheduled Actions را حذف کنیم؟

برای حذف این داده بهترین روش این است که در کنترل پنل هاست خود به بخش PHPMyAdmin بروید روی دیتابیس مورد نظر کلیک کنید. در سمت راست به تب SQL بروید. کد زیر را وارد کرده و بر روی دکمه Go بزنید با این کار تمام داده‌های وضعیت‌های مشخص شده را حذف می‌کند. شما می‌توانید وضعیت‌های مورد نظر خود را فقط قرار دهید.

DELETE FROM `wp_actionscheduler_actions` WHERE `status` IN ('complete','failed','canceled')

یا با استفاده دستور زیر می‌توانید کل داده‌های موجود در جدول را خذف نمایید:

TRUNCATE ` wp_actionscheduler_logs `

 

WooCommerce Scheduled Actions 3

نکته 1: نکته‌ای که وجود دارد ما وضعیت pending را قرار ندادیم اگر سایت شما به هر دلیلی به مشکل خورده است می‌توانید اقدامات و داده موجود در این  وضعیت را نیز حذف کنید. اگر هم مواردی در وضعیت pending هستند می‌توانید به صورت دستی آنها را اجرا کرده تا به لیست complete بروند.

WooCommerce Scheduled Actions 4

نکته 2: ما از پیشوند دیتابیس جداول وردپرس (wp_) استفاده کرده‌ایم، در صورتی که پیشوند نام دیتابیس شما متقاوت است آن را وارد کنید.

 

تغییر زمان حذف خودکار اقدامات تکمیل شده

همان طور که گفتم پس از هر 30 روز لیست اقدامات در وضعیت complete حذف می شود اما اگر خواستید این مدت زمان را سفارشی کنید کافی کد زیر را در فایل functions.php قالب خود قرار دهید و مدت زمان دلخواه را قرار دهید.

add_filter( 'action_scheduler_retention_period', 'wpb_action_scheduler_purge' );
/**
* Change Action Scheduler default purge to 1 week
*/
function wpb_action_scheduler_purge() {
return WEEK_IN_SECONDS;
}

 

امیدوارم این آموزش کوتاه براتون مفید و کاربردی واقع بشه. 🙂

نظر دهید

نشانی ایمیل شما منتشر نخواهد شد.