رفع خطای زمان بندی از دست رفته (Missed schedule) در وردپرس
در این مقاله در مورد یکی از خطاهای متداول وردپرس به نام خطای زمان بندی از دست رفته صحبت می کنیم و راه های رفع آن را توضیح می دهیم.
هنگامی که یک نوشته جدید در وردپرس ایجاد می کنید، به روش های مختلفی می توانید با این نوشته رفتار کنید. شما می توانید نوشته ایجاد شده را به صورت پیش نویس ذخیره کنید، بلافاصله آن را منتشر کنید و یا آن را زمان بندی کنید که در تاریخ و/یا ساعت دیگری منتشر شود.
معمولاً همه مراحل بدون هیچ مشکلی انجام می شود. زمان انتشار نوشته می رسد و وردپرس بررسی می کند که آیا نوشته ای برای انتشار وجود دارد یا خیر. سپس نوشته های زمان بندی شده را منتشر می کند و شما می توانید به دیگر جنبه های سایت خود بپردازید.
اما گاهی اوقات وردپرس زمان بندی شما را از دست می دهد. در این حالت اگر صفحه همه نوشته های خود را بررسی کنید، خطایی مانند شکل زیر را مشاهده می کنید.
شما همیشه می توانید به این نوشته ها دسترسی پیدا کرده و آنها را به صورت دستی منتشر کنید. اما وردپرس به شما اطلاع نمی دهد که چه زمان خطای زمان بندی از دست رفته رخ می دهد. بنابراین اگر می خواهید عملکرد انتشار پست های زمان بندی شما با مشکل مواجه نشود باید اقدام به رفع خطای زمان بندی از دست رفته در سایت وردپرسی خود کنید.
در این مقاله ابتدا در مورد اینکه چرا زمان بندی از دست رفته رخ می دهد توضیحاتی ارئه می کنیم، سپس به آموزش رفع خطای زمان بندی از دست رفته در وردپرس می پردازیم.
چرا خطای زمان بندی از دست رفته رخ می دهد؟
وردپرس از کرون جاب (cron jobs) برای زمان بندی وظایفی که باید در مواقع مشخص رخ دهد، استفاده می کند. کرون جاب قابلیتی در سیستم عامل های لینوکسی است که وظیفه اجرای عملیات خاصی را در زمان خاصی به صورت اتوماتیک دارد. در واقع کرون جاب مامور است کارهایی که شما برایش در زمان مشخصی تعیین کرده اید را به صورت خودکار انجام دهد.
در سیستم های مبتنی بر UNIX از کرون ها با نام زمان بندی کننده ها نیز استفاده می شود و کاربردهای متفاوتی دارند. به عنوان مثال شما می توانید از کرون برای اجرای یک دستور یا یک اسکریپت و یا در وردپرس برای انتشار نوشته استفاده کنید.
مشکل cron وردپرس این است که آنها به معنای واقعی کلمه کرون نیستند. از آنجا که بسیاری از هاست های وب دسترسی به تنظیمات سرور را در اختیار کاربران قرار نمی دهند، شما نمی توانید کرون ها را برای اجرا در سطح سیستم پیکربندی کنید. وردپرس با استفاده از کرون های شبیه سازی شده این محدودیت را از بین می برد. به این ترتیب که وردپرس به جای اینکه آنها را در یک بازه زمانی مشخص اجرا کند، به بازدیدهای کاربران تکیه می کند تا کرون های جعلی را تحریک کند.
به عبارت دیگر وردپرس هر بار که کاربر از وب سایت شما بازدید می کند، بررسی می کند که آیا کرون جاب در انتظاری برای اجرا وجود دارد یا خیر. اگرچه این راه حل هوشمندانه است، اما یک نکته منفی هم دارد. اگر از وب سایت شما در زمان مناسب بازدیدی به عمل نیاید، وردپرس نمی تواند پست های شما را طبق برنامه ریزی منتشر کند. در این زمان خطای زمان بندی از دست رفته اتفاق می افتد.
حتی اگر سایت شما دائماً دارای بازدیدکننده باشد، به این معنی نیست که خطای زمان بندی از دست رفته وردپرس 100٪ اتفاق نمی افتد. به عنوان مثال اگر وب سایت شما به طور موقت افت بازدیدکننده داشته باشد، یا اگر از یک افزونه کش وردپرس استفاده کند، هنوز این احتمال وجود دارد که زمان بندی وردپرس شما از دست برود.
رفع خطای زمان بندی از دست رفته بسیار آسان است. به دو روش می توانید مشکل زمان بندی از دست رفته وردپرس را حل کنید که یکی با استفاده از افزونه و دیگری با استفاده از سرور خودتان است. در بخش بعدی آموزش هر دو روش را بررسی خواهیم کرد.
آموزش رفع خطای زمان بندی از دست رفته
همانطور که قبلاً بیان شد، به دو روش استفاده از افزونه و با استفاده از سرور می توان این خطا را برطرف کرد. در روش استفاده از افزونه، ما دو افزونه را معرفی می کنیم که می توانید از بین آنها یکی را مطابق سلیقه و نیازهای سایت خود انتخاب کنید.
استفاده از افزونه Scheduled Post Trigger
در حالت ایده آل وردپرس به صورت دوره ای بررسی می کند تا ببیند آیا پست زمان بندی شده ای برای انتشار وجود دارد یا خیر و از پست های زمان بندی شده مراقبت می کند تا مبادا آنها را از دست دهد. متاسفانه این قابلیت به صورت درون ساخته و بدون تنظیمات از پیش تعریف شده در وردپرس وجود ندارد. اما با استفاده از افزونه می توانید به راحتی این قابلیت را اضافه کنید.
نحوه کار افزونه Scheduled Post Trigger به این صورت است که هر بار شخصی به وب سایت شما مراجعه می کند، بررسی می کند که آیا وردپرس نوشته زمان بندی شده ای برای انتشار دارد یا خیر. اگر یک زمان بندی از دست رفته را پیدا کند، آن پست/پست ها را گرفته و بلافاصله منتشر می کند.
به عبارت دیگر، این افزونه یک کرون جاب به وب سایت شما اضافه می کند که کرون جاب های از دست رفته را بررسی می نماید.
افزونه Scheduled Post Trigger نیازی به تنظیمات خاصی ندارد و پس از نصب و فعال سازی، کار خود را به صورت خودکار شروع می کند.
استفاده از افزونه WP Missed Schedule
WP Missed Schedule افزونه ای عالی است که هرگونه زمان بندی منتشر نشده ای را در سایت های شما بررسی می کند. این افزونه هر 15 دقیقه به طور خودکار پست های از دست رفته را بدون اتکا به ترافیک یا هر تحریک دیگری بررسی و منتشر می کند.
اما افزونه WP Missed Schedule دیگر در مخزن وردپرس موجود نیست و شما باید این افزونه را مستقیماً از GitHub دانلود کرده و به صورت دستی در سایت خود بارگذاری کنید.
برای بارگذاری و فعال کردن دستی این افزونه به ترتیب زیر عمل کنید:
به مخزن افزونه Github مراجعه کرده و روی دکمه Clone or Download کلیک کنید. سپس Download Zip را انتخاب کنید.
وارد پیشخوان وردپرس خود شوید و به مسیر افزونه ها » افزودن بروید.
افزونه را با کلیک بر روی دکمه “بارگذاری افزونه” در بالای صفحه بارگذاری کنید.
روی دکمه Browse کلیک کرده و فایل zip ی که دانلود کرده اید را آپلود کنید. سپس روی “هم اکنون نصب کن” کلیک کنید.
در آخر ، فعال سازی افزونه را فشار دهید. پس از فعال سازی افزونه نیاز به هیچ پیکربندی خاصی نیست و افزونه کار خود را انجام خواهد داد.
مدیریت کرون جاب ها از طریق سرور
اگر پنل هاستینگ شما امکان دسترسی به تنظیمات سرور را فراهم می کند، می توانید کرون جاب ها را برای اجرا در آن سطح پیکربندی کنید و اقدام به رفع خطای زمان بندی از دست رفته در وردپرس نمایید. برای این که این رویکرد به درستی کار کند ، برای ابتدا کرون های وردپرس را غیرفعال کنید.
برای انجام این کار ،دسترسی به وردپرس از طریق FTP و با استفاده از یک Client مانند FileZilla را ایجاد کنید. به پوشه root بروید و فایل wp-config.php را در داخل آن جستجو کنید.
بر روی این فایل کلیک راست کرده و گزینه View / Edit را انتخاب کنید. حال قبل از پایان فایل خط زیر را به کد اضافه کنید:
define('DISABLE_WP_CRON', true);
تغییرات در فایل wp-config.php را ذخیره کنید. در مرحله بعد ، باید کرون های دستی را از طریق سرور خود پیاده سازی کنید. بیشتر ارائه دهندگان هاستینگ این امکان را به شما می دهند که از طریق کنترل پنل هاست خود این کار را انجام دهید.
به عنوان مثال اگر به cPanel دسترسی دارید، در زیر یکی از تب های آن گزینه ای به نام Cron Jobs وجود دارد:
با استفاده از این ابزار به راحتی می توانید کرون جاب های جدید را برای اجرای زمان بندی ها برنامه ریزی کنید.
البته بخاطر داشته باشید، اگرچه هاست وب شما در زمان بندی کرون ها در سطح سرور به شما کمک می کند، اما شما هنوز هم باید مشخص کنید که کدام وظایف باید به صورت دستی اجرا شود.
زمان بندی ارسال ها برای اکثر کاربران وردپرس یک ویژگی کلیدی است. این قابلیت ساده باعث می شود که شما مجبور نباشید پست ها را به صورت دستی منتشر کنید و درعوض وردپرس از آنها مراقبت می کند. اگر خطایی در این زمینه رخ دهد روند کار شما با اختلال مواجه می شود بنابراین باید در کوتاه ترین زمان ممکن خطای زمان بندی از دست رفته وردپرس را رفع کنید.
امیدواریم راه های بیان شده در این مقاله به شما کمک کرده باشد. منتظر دریافت دیدگاه های شما هستیم.
دیدگاه ها