در این مقاله آموزشی درباره حالت تعمیر توضیح می‌دهیم و به شما آموزش می‌دهیم که بتوانید هم با استفاده از افرونه و هم بدون استفاده از افرونه آن را فعال کنید.

حالت تعمیر چیست

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

ما می‌توانیم وبسایتمان را در ۲ حالت از دسترس فقط برای کاربران خارج کنیم. راه اول این است که کاربر با خطای This site can’t be reached مواجه شود که کار خوبی نیست و راه دوم این است که پیامی مانند “کاربران گرامی، وبسایت ما به طور موقت از دسترس خارج شده است. برای دسترسی به خدمات وبسایت، می‌توانید از روز چهارشنبه اقدام کنید”.

در این مقاله، حالت تعمیر را به روش بهتر یعنی دوم پیاده سازی می‌کنیم (با افزونه و بدون افزونه).

فعال کردن حالت تعمیر در وبسایت

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

فعال کردن حالت تعمیر بدون افزونه

برای فعال کردن حالت تعمیر در وبسایتتان بدون افزونه، وارد پوشه قالب سایت خود شوید. یعنی پوشه public_html هاست را باز کنید و وارد wp-content و سپس themes شوید و پوشه قالب سایت را پیدا کرده و وارد آن شوید. در مرحله بعدی فایل functions.php را پیدا کرده و آن را باز کنید.

در انتهای آن قبل از علامت ?> که علامت بسته شدن PHP هست این کد را وارد کنید.

require_once ABSPATH . 'wp-includes/pluggable.php';
if (!current_user_can('administrator')){
    function lerdot_maintenance_code()
    {
        ?>
        <style>
            #demo {
                display:flex;
            }
            #demo .num {
                margin-left: 10px;
                padding: 5px 20px;
                background-color: #dedede;
                border-radius: 5px;
            }
            body {
                display: grid;
                place-content: center;
                place-items: center;
                background-color: #f7f7ff;
            }
            h1 {
                font-size: 35px;
                color: #444;
                margin-bottom: 13px;
            }
            p {             
                font-size: 18px;
                font-weight: 200;
                color: #444;
                margin-bottom: 20px;
            }
        </style>
        <h1>وبسایت در حالت اجرای تغییرات است!</h1>
        <p>وبسایت ما در تاریخ ۱۰ مرداد رونمایی می‌شود.</p>
        <p id="demo"></p>
        <script>
        var countDownDate = new Date("August 1, 2022 11:37:25").getTime();

        var x = setInterval(function() {

        var now = new Date().getTime();
            
        var distance = countDownDate - now;
            
        var days = Math.floor(distance / (1000 * 60 * 60 * 24));
        var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
        var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
        var seconds = Math.floor((distance % (1000 * 60)) / 1000);
            
        document.getElementById("demo").innerHTML = "<div class='num'>" + days + "‌ روز </div> <div class='num'> " + hours + "‌ ساعت </div> <div class='num'> "
        + minutes + "‌ دقیقه </div> <div class='num'> " + seconds + "‌ ثانیه </div>";
            
        if (distance < 0) {
            clearInterval(x);
            document.getElementById("demo").innerHTML = "تا دقایقی دیگر وبسایت رونمایی می‌شود...";
        }
        }, ۱۰۰۰);
        </script>
        <?php
        die;
    }
    add_action('wp_head','lerdot_maintenance_code');
}

توضیحات کد

این کد به وردپرس اعلام می‌کند تا زمانی که کاربری که در حال مشاهده وبسایت است، مدیر سایت نیست بتواند حالت تعمیر را مشاهده کند. بنابراین وقتی این کد را قرار دادید و وبسایت را در حالتی که لاگین هستید باز کردید و دیدید که تغییری ایجاد نشده، نگران نباشید؛ چون کد برای کسانی که مدیر سایت نیستند نمایش داده می‌شود.

شما می‌توانید به دلخواه خود در تاریخ و زمان و همچنین متن‌های حالت تعمیر، تغییراتتان را اعمال و ایجاد کنید.

مثلا برای ست کردن زمان مورد نظر برای تایمر، می‌توانید به جای کد “var countDownDate = new Date(“August 1, 2022 11:37:25”).getTime();”، این کد را قرار دهید تا بجای تاریخ ۱ آگوست، تاریخ ۲۰ آگوست سال ۲۰۲۵ انتخاب شود.

var countDownDate = new Date("August 20, 2025 11:37:25").getTime();

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

نتیجه اعمال کردن حالت تعمیر با کدنویسی
نتیجه اعمال کردن حالت تعمیر با کدنویسی

فعال کردن حالت تعمیر با افزونه

برای اینکار کافیست وارد پیشخوان وردپرس شوید و از بخش افزونه‌ها > افزودن، WP Maintenance Mode & Coming Soon را جستجو کنید و آن را نصب و فعال کنید.

نصب افزونه WP Maintenance Mode & Coming Soon

بعد از فعالسازی آن، زیر منوی تنظیمات، گزینه‌ای با نام “حالت در دست تعمیر وردپرس” مواجه می‌شوید که باید روی آن کلیک کنید تا تنظیمات حالت تعمیر برایتان نمایش داده شود.

حالت در دست تعمیر وردپرس
حالت در دست تعمیر وردپرس

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

تنظیمات عمومی

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

وضعیت
وضعیت

اگر دوست دارید تا حالت تعمیر برایتان فعال شود باید گزینه وضعیت را روی فعال شد قرار دهید تا حالت تعمیر برایتان فعال شود.

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

بقیه تنظیمات این بخش چون تخصصی هستند توضیحی نمی‌دهیم.

طراحی

در تب طراحی می‌توانید گزینه‌های مربوط به طراحی حالت تعمیر را مشخص کنید که به چه صورت باشد. مثلا در بخش متن می‌توانید متنی که می‌خواهید در این حالت نمایش داده شود را وارد کنید.

تغییر متن‌ها و عنوان‌ها
تغییر متن‌ها و عنوان‌ها

در نهایت بخش دیگر طراحی، بخش CSS سفارشی هست که می‌توانید CSSهای مورد نظر خود را مانند تصویر زیر وارد کنید.

CSS سفارشی
CSS سفارشی

ماژول‌ها

این بخش امکانات بیشتری را به حالت تعمیر وبسایتتان اضافه می‌کند و می‌تواند برای اضافه کردن ویژگی هایی مانند تایمر و شمارش معکوس استفاده شود.

ماژول‌ها

جمع‌بندی

در این مقاله نحوه پیاده سازی حالت تعمیر را به طور کامل به شما آموزش دادیم؛ هم با افزونه و هم بدون افزونه که می‌شود کدنویسی. امیدواریم بتوانید از این مقاله به خوبی استفاده کنید و بدون مشکل این بخش را در وبسایتتان آماده سازی و پیاده سازی کنید.

اگر سوال یا پیشنهادی داشتید و خواستید تا به شما در حل مشکلتان کمک کنیم، می‌توانید از بخش نظرات سوال خود را بپرسید 🙂

این آموزش چقدر برای شما مفید بود؟

میانگین امتیاز: ۳.۳ / ۵. تعداد رای: ۳

هنوز امتیازی ثبت نشده! شما اولین نفر باشید...

تیم تولید محتوا

در تیم تولید محتوای لردات در تلاشیم تا مقالات آموزشی طراحی و مدیریت وبسایت را به بهترین شکل برای شما آماده و منتشر کنیم.

1

مقالات مرتبط

نظر یا سوالی دارید؟