افزونهی زمانبندی دستورالعملها در وردپرس Cron Jobs
Cron Job در وردپرس مسئولیتهای زمانبندی شده از قبیل مطالب زمانبندی شده، بررسی انواع بهروزرسانی در وردپرس و .. را بر عهده دارد. در وردپرس هم وظایف و مسئولیتهایی که آماده اجرا می باشند و برای اجرا شدن زمانبندی شدهاند و آماده اجرا شدن در زمان تعیین شده می باشند. Cron Job در وردپرس در دیتابیس ذخیره و آماده اجرا در زمان مشخص شده میباشد. مثل پاک کردن کامنتهای قدیمی و … . افزونهها هم میتوانند از یک برنامه زمان بندی شده استفاده کنند.برای مثال افزونه Backup در وردپرس در فواصل زمانی مشخص از کرون استفاده میکند.
تفاوت های اصلی
تفاوت اصلی دیگری که در کارکرد Cron Job در وردپرس وجود دارد این است که کرون جاب وردپرس زمانی شروع به کار میکند که، ابتدا یک بازدید کننده به سایت شما مراجعه کرده و بعد از آن فایل wp-cron.php بررسی میکند که آیا وظیفهی زمانبندی شده مانند انتشار پست زمانبندی شده وجود دارد یا نه. حال در صورتی که وظیفهای وجود داشت و زمان آن هم رسیده بود آن را اجرا میکند ولی در غیر اینصورت در زمان مورد نظر انجام خواهد شد.
فعالسازی افزونه زمان بندی دستورالعمل ها
ابتدا افزونه WP Crontrol را نصب کنید. سپس در بخش Activation به صفحه ابزارها و بعد به قسمت Cron Event بروید.
در این صفحه جدولی وجود دارد که همه رویدادهایی که در سایت وردپرسی شما باید توسط سیستم کرون اجرا شوند را شامل میشود. ستونهای این جدول به شرح زیر میباشد:
- Action Name: در ستون اول که با نام Action Name قرار دارد میتوانید انواع هوک وردپرس را ببینید، که آماده اجرا شدن به وسیله ی کرون جاب می باشند. نام هوکهای موجود به شما نشان خواهند داد که چه وظیفهای آماده اجرا شدن است.
نکته: اسم دستورالعمل ها معمولاً با پیشوند wp_ شروع می شود (مثل wp_update). اما برخی افزونهها از پیشوند مخصوص خودشان استفاده میکنند (مثل wpseo_ prefix).
- Next Run: در این ستون میتوانید هنگام اجرای هر Cron Job در وردپرس را ببینید که مدام در حال بهروزرسانی می باشند. شما با استفاده از آخرین ستون این جدول میتوانید با کلیک روی Run Now یک کرون را اجرا کنید. همچنین میتوانید با کلیک روی Edit و Delete کرونها را ویرایش و حذف بکنید.
نکته:خوب دقت داشته باشید که کرونهای پیش فرض وردپرس را حذف نکنید. این کار باعث بروز مشکل در سایت شما خواهد شد.
ویرایش یکی از وظایف Cron Job در وردپرس
اگرقصد ویرایش هر یک از کرونها را دارید گزینه Edit در همان Cron Job را انتخاب کنید. سپس یک تب جدید با نام Modify cron event ایجاد خواهد شد. در این تب نام Cron Job ، زمان اجرا و سایر ویژگیهای آن را میتوانید مدیریت کنید.
در این قسمت میتوانید تنظیمات را بصورت دلخواه تغییر دهید. در بخش Next Run زمان اجرای بعدی کرون جاب را مشاهده میکنید و میتوانید آنرا تغییر دهید. در بخش Recurrence نیز زمان اجرای هر بررسی را میبینید. ابن بخش در حالت عادی روی ۱۲ ساعت تنظیم شدهاند. به این معنی که هر ۱۲ ساعت یکبار برای بهروزرسانی بررسی میشوند. شما میتوانید این گزینه را روی ۱ روز، ۵ دقیقه و … تنظیم کنید. پس از وارد کردن این تنظیمات، آنرا ذخیره کنید تا زمان بندی دستورالعملها اجرا شوند.
ایجاد کرون
برای ایجاد کرون در وردپرس میتوانید از صفحه ابزارها به بخش Cron Event بروید. سپس در تب Add Cron Event تنظیمات موردنظر خود را وارد کنید.
- در بخش Action Name نام رویداد را وارد کنید. در وارد کردن نام رویداد دقت داشته باشید که بین کلمه ها از space استفاده نکنید. همچنین از کاراکترهای مجاز برای نامگذاری آنها استفاده کنید.
- در بخش Arguments optional نیز میتوانید در صورت نیاز استدلالی دربارهی رویداد وارد کنید.
- بخش Next Run نیز برای تعیین زمانبندی اجرا و دوره تکرار آن میباشد.
- برای ذخیره کرون نیز باید روی دکمه Add Cron Event کلیک کنید.
حال که به لیست Cron Job در وردپرس بروید، کرون جابی که به تازگی افزوده اید را در آن نخواهید دید. دلیل آن هم این است که به صورت پیش فرض وردپرس به آن دسترسی ندارد و شما باید وجود آن را برای مشاهده و اجرا اعلام نمایید.
بنابراین فایل فانکشن (functions.php) قالب خود را باز کرده و مانند کدهای زیر نام هوک خود را در قسمت های مربوطه جایگزین کرده و در فایل فانکشن قرار دهید.
if ( ! wp_next_scheduled( ‘wpb_custom_cron’ ) ) {
wp_schedule_event( time(), ‘hourly’, ‘my_task_hook’ );
}
add_action( ‘wpb_custom_cron’, ‘wpb_custom_cron_func’ );
function wpb_custom_cron_func() {
wp_mail( ‘you@example.com’, ‘Automatic email’, ‘Automatic scheduled email from WordPress to test cron’);
}
پس از این کار میتوانید در لیست Cron Job کرون جاب مورد نظرتان را انتخاب کنید. سپس روی گزینه Run Now کلیک کنید تا اجرا شود.
درباره Mostafa Shoa
مدیر تیم پارس نویس، کارشناس مهندسی نرم افزار، مدرس دوره های برنامه نویسی و طراحی سایت در مدارس تیزهوشان، مشاور تبلیغات و بازاریابی استارتاپ ها و کسب و کارهای اینترنتی
نوشته های بیشتر از Mostafa Shoa
دیدگاهتان را بنویسید