آموزش های وردپرس

آموزش مشاهده و مدیریت کرون جاب وردپرس

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

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

آموزش مشاهده و مدیریت کرون جاب وردپرس

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

کرون جاب وردپرس چیست؟

توی سیستم مدیریت محتوای وردپرس مسئولیت کارها توسط کرون جاب وردپرس(cron job) صورت می‌گیره که معادل همان کرون جاب در یونیکس و یا cheduled task در ویندوز است. مسئولیت کرون جاب در وردپرس اینه که زمانبندی مطالب، کنترل به‌روزرسانی افزونه، قالب و هسته وردپرس و… را در زمان تعیین شده ابتدا بررسی کنه و بعد اگر که یک مسئولیت وجود داشت اون را اجرا کرده و نهایی کند. حالا کارهایی که کرون جاب وردپرس که آن را با wp-cron می‌شناسیم در سایت ما انجام میگیره درست در دیتابیس ذخیره و مدیریت میشه.

نحوه کارکرد کرون جاب وردپرس به این شکله که هرگاه یک بازدیدکننده وارد سایت شما میشه، فایل wp-cron.php بررسی می‌کند که آیا مسئولیتی مثل نوشته زمانبندی شده، بررسی موجود بودن به‌روزرسانی‌ها در وردپرس و از این قبیل وظایف وجود دارد یا خیر! سپس در صورتی که یک مسئولیت وجود داشت اونو اجرا می‌کنه. بنابراین تا زمانی که سایت شما بازدیدی نداشته باشه، به‌روزرسانی و مطالب زمانبندی شده در زمان تعیین شده انجام نخواهند گرفت. حالا در ادامه برای اینکه بتونید تا وظایفی که توسط کرون جاب وردپرس صورت میگیره را مدیریت و کنترل کنید به معرفی افزونه کرون جاب وردپرس می‌پردازم تا از اون برای مدیریت کارها در سایت وردپرس خودتون استفاده کنید.

مدیریت کارها در وردپرس با کرون جاب

افزونه‌ای که قصد معرفی اونو دارم با نام WP Crontrol در مخزن وردپرس به ثبت رسیده و تاکنون تونسته تا بیش از 60.000 نصب فعال و کسب امتیاز 4.9 را ازآن خودش بکنه که با استفاده از این افزونه می‌تونید اقدام به مدیریت کارها در وردپرس و کنترل cron job کنید. پیش از هرکاری لازمه تا روی دکمه زیر کلیک کرده و افزونه را با استفاده از آموزش نحوه نصب و کار کردن با افزونه ها در وردپرس در سایت وردپرسی خودتون نصب و فعال کنید.

دانلود افزونه WP Crontrol

بعد از نصب و فعال سازی افزونه مشابه تصویر زیر منویی با نام Cron Events در بخش ابزارها پیشخوان سایت وردپرس شما اضافه میشه، روی این منو کلیک کنید تا به صفحه افزونه و مدیریت کارها در وردپرس هدایت شوید.

مدیریت کرون جاب وردپرس

حالا همونظور که در تصویر میبینید لیستی از کارها و مسئولیت‌هایی که درست در بخش پنهانی وردپرس فعالیت می‌کنند در حال انجام و بررسی هستند که می‌تونید با استفاده از این افزونه این کارها را کنترل و مدیریتکنید. در این صفحه قادرید تا لیست مسئولیت‌های در دست بررسی و اجرا را در بخش Hook Name ، زمان اجرای کارها را در ستون Next Run و کنترل هر یک از این کارها را که می‌تونید اقدام به ویرایش، اجرا کارها به صورت دستی و یا حذف آنها کنید را در ستون مدیریت کنترل کنید.

ویرایش کرون جاب وردپرس

اگر که قصد ویرایش یکی از این کارها را دارید کافیه تا ابتدا مشابه تصویر زیر اون کاری را که قصد دارید ویرایش کنید را انتخاب و سپس روی گزینه Edit کلیک کنید. در نمونه زیر من قصد دارم تا کنترل به‌روزرسانی برای پوسته‌های وردپرس را تغییر بدم.

مدیریت کرون جاب وردپرس

بعد از کلیک روی گزینه ویرایش cron job مربوط به به‌روزرسانی قالب وردپرس وارد صفحه‌ای مثل تصویر زیرخواهید شد که با استفاده از این صفحه میتونید تا زمان اجرای کرون جاب برای بررسی موجود بودن به‌روزرسانی قالب وردپرس را در بخش Next Run بر اساس زمان محلی و تاریخ تعیین شده سایت هست را انجام بدین. همونطور که در قسمت Recurrence هم میبینید بررسی به‌روزرسانی قالب وردپرس در هر 12 ساعت یکبار صورت میگیره که قادرید این زمان را تغییر دهید.

مدیریت کرون جاب وردپرس

حالا اگر که قصد دارید تا زمان بررسی را به دلخواه خودتون تغییر بدین کافیه یکی از گزینه‌های موجود در گزینه Recurrence را که شامل موارد زیر هستند انتخاب کنید:

  • هر 5 دقیقه
  • هر ساعت یکبار
  • هر 12 ساعت یکبار
  • هر روز
  • و در نهایت هر ماه

افزودن کرون جاب در وردپرس

حالا اگر که میخواهید تا یک کرون جاب جدید در وردپرس بسازید کافیه تا ابتدا روی زبانه Add Cron Event کلیک کرده و سپس مشابه تصویر زیر اطلاعات مربوط به کرون جاب را وارد کنید تا کاری که در نظر گرفتید به صورت خودکار در زمان تعیین شده انجام بگیره.

مدیریت کرون جاب وردپرس

حال همانطور که در تصویر میبینید نام هوک، آرگومان، تاریخ و زمان اجرای بعدی هوک و دوره زمانی برای هر بار اجرای کار در cron job وردپرس را تعیین کرده و در نهایت بر روی دکمه Add Cron Event کلیک کنید تا مسئولیت تعیین شده در سایت اضافه بشه. حالا برای اینکه لیست کرون جاب شما در صفحه مورد نظر قابل مشاهده باشه وارد هاست خودتون شده و روی گزینه File Manager کلیک کنید تا به صفحه مدیریت فایل‌ها در وردپرس هدایت شوید. سپس به مسیر /public_html/wp-content/themes/ مراجعه کرده و وارد پوشه فایل قالب خودتون شده و در این پوشه به دنبال فایل فانکشن(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( '[email protected]', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}

حالا همونطور که در کد بالا میبینید به جای ایمیل [email protected] هم ایمیل خودتون را وارد کنید. بدین ترتیب هر زمان که کرون جاب شما اجرا شود توسط این تابع قادر خواهید بود تا از طریق ایمیل از آن مطلع شوید. حالا از طریق events به لیست وظائف سایت خودتون مراجعه کرده و آن را مشاهده و کنترل کنید.

امیدوارم که این آموزش هم مورد توجه و پسند شما قرار گرفته باشه و با استفاده از اون تونسته باشید تا به مدیریت کرون جاب وردپرس یا همون مدیریت کارها در وردپرس بپردازید. اگر در رابطه با وظایفی که در وردپرس از طریق cron job صورت میگیره سوال و یا مشکلی داشتید در بخش دیدگاه‌ها اعلام کنید تا در کوتاه‌ترین زمان ممکن پاسخگوی شما باشم.
5/5 - (2 امتیاز)

علی یزدان پرست

حدود 8 سالی هست که در زمینه میزبانی وب به صورت تخصصی فعالیت می کند و علاقه زیادی به کسب تجربه در زمینه بازاریابی اینترنتی و تجارت الکترونیک دارد، علی یک کارآفرین خستگی ناپذیر است و با انرژی حیرت انگیزی تمام قسمت های میزبان فا را توسعه می دهد، علی به سبک حرفه ای و انحصاری خود زندگی می کند و خط فکری خاصی را همیشه دنبال می کند، او رفتار هایی کاملا متفاوت نسبت به سایر مدیرانی که تا به حال دیده اید دارد...

‫۱۳ دیدگاه ها

  1. سلام لطفا اگر مقدور برایتان میباشد درمورد راه های مختلف ویدیو در سایت توضیح بدید

  2. سلام. وقت بخیر. من یه مشکلی دارم هر روز در بین ساعت 2 تا 3 نیمه شب معمولا فایل index و برخی مواقع فایل config و setting از هاستم حذف میشن و سایت بالا نمیاد تا وقتی صبح بیدار شم و برم تو هاست و فایل ها رو مجددا آپلود کنم تو هاستم. الان یه سوال دارم آیا میدونید این مشکل از کجاست ؟ چون هم افزونه های رو غیر فعال و پاک کردم و هم قالب رو تغییر دادم ولی حل نشد. و مورد دیگه اینکه آیا میشه از طریق کرون جاب کاری کنم که مثلا این سه فایل index و config و setting هر شب ساعت 3 از فولدری دیگه به فولدر public_html کپی بشن که حداقل سایت زمان کمتری از دسترس خارج باشه و نیازی نباشه وقتی صبح بیدار میشم این کارها رو دستی انجام بدم ؟ و اگر میشه بگید با چه دستوری میتونم دستور کپی فایلی از یک پوشه به پوشه دیگه رو بدم ؟

    1. سلام، برای رفع این مشکل فایل لاگ هاست را بررسی کنید و خطاهایی که از اون روز براتون به وجود اومده را در این فایل ببینید تا بتونید منشا مشکل را پیدا کنید. میتونید وردپرس را مجددا دریافت کرده و نصب کنید، از قالب پیشفرض هم برای یک روز استفاده کنید تا ببینید مشکل از قالب هست یا خیر، احتمالا به دلیل استفاده از قالب یا افزونه غیرایمن کدهایی در سایت شما تزریق شده که اگر به سادگی از کنارش رد بشید در آینده مشکلات بیشتری براتون به وجود میاره، حتما با یک متخصص در این زمینه در ارتباط باشید تا مشکلتون را دقیق مورد بررسی قرار بدن.

  3. باسلام. وقت بخیر. برای ساختن یک وظیفه در این افزونه ازمون Hook Name میخواد. لیست تمام هوک ها رو از کجا میتونیم بدست بیاریم تا برای موارد دلخواه زمانبندی برای اجرا قرار بدیم؟ باتشکر.

  4. سلام دوست عزیز و مرسی از راهنماییات
    من یه سایت دارم که قراره یه سری اطلاعات رو به صورت web api از سایت دیگه بگیره و اطلاعات باید مثلا هر 5 دقیقه رفرش بشه ، پرسیدم ، گفتن کران جابز برای این کارخوبه .
    ولی هیچ آموزشی برای این کار به صورت کدنویسی و داخل قالب وردپرسی گذاشتن وجود نداره.
    امکانش هست یه آموزش یا نمونه کدی چیزی بگذارید؟؟

    ممنونتون میشم

  5. سلام.من میخوام فایل های csv را مثل کرون جاب سی پنل تو این افزونه زمانبندی و اجرا کنم.اون کد که در all import برای اجرا هست را در کدوم قسمت افزونه وارد کنم ؟

  6. سلام. وقت بخیر. من قابلیت کرون جاب رو فکر نمی کنم فعال کرده باشم. هر چند وقت یکبار ithemes پیام تغییر، حذف و اضافه شدن فایل ها رو بهم میده و url رو ( وظیفه برنامه ریزی شده WP-Cron) معرفی میکنه.
    مثلا آخرین تغییر روی فایل wp-admin/error_log بود، و 187فایل اضافه شد، 12 فایل حذف شد.
    متشکر میشم اگر مقدور هست در این مورد هم توضیح بدید تا از این قسمت از وردپرس هم مطلع بشم!

  7. سلام میخوام یه کد تعریف کنم که در زمان مثلا ۵ صبح تا ۷ غروب این اتفاق بیوفته و زمان ۷ غروب تا ۵ صبح اتفاق دیگه ینی یجورایی میخوام برای سایت استایل روز و شب تنظیم کنم.
    با این افزونه میشه ؟

  8. می خوام کد php داخل کرون جاب اجرا بشه که نمیشه
    اصلا یه طور دیگه ای توضیح میدم
    چرا دستوراتی مثل دستور زیر در فایل کرون جاب اجرا نمی شود؟
    wp_set_object_terms(396, 55, ‘product_tag’ , true);
    یا
    wp_set_object_terms(83, 100, ‘product_cat’ , true);
    یا هر دستور php
    می دونید این دستور ها اگر در فایل های قالب سایت مثلا در index.php یا single-product.php باشد اجرا می شود البته اگر صفحه اصلی سایت یا صفحه محصولی را در بروزر باز کنیم ولی همین کدها در فایل کرون جاب اجرا نمی شود. یه جوری انگار کدها را نمی فهمد
    چه باید کرد؟

  9. راهی هست که کرون جاب مخرب رو بشه تشخیص داد؟ منظورم حالتی که هکرها با برنامه نویسی مخفی پشت یه پلاگین، منابع سایت رو درگیر می کنن

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

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