۰۳ /۰۳ /۱۴۰۱

برگزاری سمینار بین المللی ابر توسعه دهندگان جامعه PHP با حضور شرکت رنگیلتون اسپانیا و شرکت اوبری روسیه در تهران

ایران اسکریپت

موضوع: خطای زمانبندی از دست رفته وردپرس چیست؟

خطای زمانبندی از دست رفته وردپرس چیست؟

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

چرا خطای زمانبندی از دست رفته وردپرس رخ می دهد؟

وردپرس از cron job ها برای برنامه ریزی کارهایی که باید در زمان های خاص اجرا شوند استفاده می کند. در سیستم‌های مبتنی بر یونیکس، به این «کرون‌ها» به‌عنوان «زمان‌بندی‌کننده» نیز گفته می‌شود و کاربردهای مختلفی دارند. به عنوان مثال، ممکن است از cron برای اجرای یک دستور یا یک اسکریپت استفاده کنید، یا مانند وردپرس، برای انتشار یک پست.

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

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

نحوه رفع خطای زمانبندی از دست رفته وردپرس (2 روش)

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

1. از افزونه Scheduled Post Trigger استفاده کنید

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

2. Cron Jobs را مستقیماً از طریق سرور خود مدیریت کنید

اگر برنامه میزبانی شما دسترسی به تنظیمات سرور را برای شما فراهم می کند، می توانید  cron jobs  را برای اجرا در آن سطح پیکربندی کنید. با این حال، برای اینکه این روش کار کند، ابتدا باید کرون های وردپرس را غیرفعال کنید تا از درگیری جلوگیری شود. برای انجام این کار، از طریق FTP با استفاده از یک کلاینت مانند FileZilla به وب سایت خود دسترسی پیدا کنید . به پوشه root خود بروید و فایل wp-config.php را در داخل آن جستجو کنید.

خلاصه

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

  • از افزونه Scheduled Post Trigger استفاده کنید.
  • cron job ها را مستقیماً از طریق سرور خود مدیریت کنید.
Rate this post
برگزاری دوره های فوق پیشرفته برنامه نویسی ایران اسکریپت
برگزاری دوره های فوق پیشرفته برنامه نویسی ایران اسکریپت
برگزاری دوره های فوق پیشرفته برنامه نویسی ایران اسکریپت
برگزاری دوره های فوق پیشرفته برنامه نویسی ایران اسکریپت
برگزاری دوره های فوق پیشرفته برنامه نویسی ایران اسکریپت
برگزاری دوره های فوق پیشرفته برنامه نویسی ایران اسکریپت
برگزاری دوره های فوق پیشرفته برنامه نویسی ایران اسکریپت