حتما همه ی شما حداقل یک بار هم که شده، در هنگام به روز رسانی یکی از افزونه ها، یا هسته ی وردپرستان با خطای “جهت انجام عملیات تعمیرات زمان‌بندی شده برای مدت کوتاهی در دسترس نیست. یک دقیقه دیگر مراجعه کنید.” یا در نسخه انگلیسی با خطای “Briefly unavailable for scheduled maintenance. Check back in a minute.” مواجه شده اید. البته این خطا قبلا فقط وقتی رخ میداد که خودتان با پای خودتان برای به روز رسانی به سراغ وردپرس میرفتید. اما از نسخه ی 3.7 به بعد، وقتی وردپرس آپدیت های اتوماتیک را معرفی کرد، ممکن بود سایت شما ساعت ها این پیام را نشان داده و در دسترس نباشد و شما هم کاملا بی خبر باشید. این خطا در هنگامی اتفاق می افتد که در زمان به روز رسانی مشکلی ایجاد شود و به روز رسانی نیمه کاره بماند. در آموزش امروز، مسترکد به شما یاد خواهد داد که اگر دچار چنین مشکلی شدید چگونه آن را حل کنید و سپس با هم خواهیم آموخت که چگونه صفحه ی مربوط به این خطا را به نحوی سفارشی کنیم که دیگر ظاهر زشت و ترسناک فعلی را نداشته باشد و با خواسته ها و نیازهای شما مطابق شود.

دلیل اتفاق افتادن این خطا چیست؟
زمانی که شما میخواهید یک افزونه و یا حتی هسته ی وردپرس را آغاز کنید، به محض اینکه بر روی دکمه به روز رسانی کلیک میکنید، وردپرس سایت شما را به حالت تعمیر میبرد تا بتوانید فایل های مورد نیاز را از سرور محل قرار گیری فایل ها دریافت کرده و به روز رسانی را به طور صحیح انجام دهد. اگر همه چیز به درستی پیش برود، سایت شما بلافاصله پس از اتمام به روز رسانی از حالت تعمیر بیرون خواهد آمد و به حالت عادی خود باز خواهد گشت.
حالا اگر به هر دلیلی، مثلا قطع ارتباط با سرور دانلود، تداخل با یک افزونه دیگر، تداخل با افزونه های کش، مشکلات حافظه و تایم آوت شدن اسکریپت، به روز رسانی به طور کامل انجام نشود، وبسایت شما در حالت تعمیر باقی مانده و پیامی که از آن صحبت کردیم را برای شما به نمایش در می آورد. بنابراین این پیام در واقع یک خطا نیست، بلکه صرفا یک نوع اطلاع رسانی در مورد وضعیت سایت شماست.
چگونه خطای حالت تعمیر را در وردپرس برطرف کنیم؟
اولین نکته ای که در رفع این مشکل وجود دارد این است که اگر زمانی که این خطا اتفاق افتاده، در حال به روز رسانی وردپرس بوده اید، از به روز رسانی کامل وردپرس اطمینان حاصل کنید تا سایتتان در آینده دچار مشکل نشود. (در این حالت میتوانید به روز رسانی را به طریق دستی و از طریق FTP انجام دهید.)
پس از اینکه از به روز رسانی کامل هسته ی وردپرس اطمینان حاصل کردید، حالا باید وارد هاستتان شده و یا با استفاده از FTP به هاستتان متصل شوید و به روت وردپرستان بروید. توجه داشته باشید که فایل منیجر یا نرم افزار FTP شما باید به نحوی تنظیم شده باشد که فایل های مخفی یا hidden را نمایش دهد. مثلا در سی پنل کافی است در هنگام ورود به فایل منیجر گزینه show hidden files را انتخاب کرده و یا در هنگام استفاده از FileZilla با مراجعه به منوی Server روی گزینه ی Force Showing Hidden Files کلیک کنید. حالا باید به دنبال فایل با عنوان .maintenance بگردید و این فایل را حذف نمایید تا سایت شما به حالت عادی خودش بازگردد. توجه داشته باشید که تا وقتی این فایل را حذف نکنید، پیامی که در سایت شما نمایش داده میشود، حذف نخواهد شد.
چگونه پیام حالت تعمیر را سفارشی کنیم؟
برای این کار دو روش وجود دارد. روش اول این است که ابتدا افزونه ی Maintenance Mode را روی وردپرس خود نصب کنید و تنظیمات دلخواه خود را روی آن اعمال کنید. حالا کافی است قبل از اینکه شروع به آپدیت سایتتان کنید، خودتان سایت را در حالت تعمیر قرار دهید تا صفحه ی مورد نظر شما در سایت نمایان شود و به کاربران اعلام کند که سایت در حال به روز رسانی است.
اما روش دوم که روش بهتری هم هست این است که خود صفحه ی مربوط به Maintenance را سفارشی کنید. برای این کار ابتدا یک فایل با نام maintenance.php ایجاد کرده و کد زیر را در آن قرار دهید :

کد:
<?php
$protocol = $_SERVER["SERVER_PROTOCOL"];
if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
    $protocol = 'HTTP/1.0';
header( "$protocol 503 Service Unavailable", true, 503 );
header( 'Content-Type: text/html; charset=utf-8' );
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
    <h1>We are updating the site, please check back in 30 minutes.</h1>
</body>
</html>
<?php die(); ?>
حالا این فایل را درون فولدر wp-content وردپرس خود آپلود کنید. از این به بعد هر زمان که سایت شما به حالت تعمیر برود، بجای پیام پیشفرض وردپرس، این صفحه برای کاربران به نمایش گذاشته خواهد شد. شما میتوانید استایل CSS دلخواه خود را در این صفحه قرار دهید و آن را با هر پیامی که مایل هستید پر کنید تا به نتایج دلخواه خود دست پیدا کنید.