Как отключить WordPress сайт на техническое обслуживаниеОпубликовано: 01.09.2018 Причина вопроса, указанного в названии статьи, может проявляться от самых разных случаев. Реконструкция, какие-нибудь неполадки, обновление функциональности и прочие поводы могут толкнуть на временное отключение сайта. И если посмотреть со стороны разработчиков, то — это правильное решение. Зачем пользователю испытывать неудобство во время технических работ, что явно отобразится на нестабильности ресурса. В сегодняшней статье рассмотрим один вариант, который позволит закрыть доступ к сайту и вывести сообщение с извинениями за неудобство. Метод, описанный в данной статье, будет реализован с помощью отдельного кода, созданием дополнительных файлов и закачкой их на сервер. В принципе, это стандартная процедура для выполнения какой-либо задачи без использования плагина. Но если в чем-то сомневаетесь, то всегда можете протестировать ту или иную функцию на локальном сервере. Давайте перейдем к делу. Урок 2 # Установка плагина "Техническое обслуживание" для WordPress Шаг 1-й. На первом шаге создадим основной файл. Откройте любой редактор или стандартный блокнот, добавьте в него ниже представленный код и сохраните файл под именем .maintenance (точка вначале обязательна). В процессе обновления платформы, плагинов, тем, WordPress автоматически создает этот файл на время обслуживания. Но в данном случае мы включим технический режим вручную на то время, которое пожелаем. Полученный файл необходимо загрузить в корневую директорию обычно это public_html , там находятся движок WordPress. Режимы: сайт на обслуживании и сайт в разработке. WordPress + Elementor <?php function is_user_logged_in() { $loggedin = false; foreach ( (array) $_COOKIE as $cookie => $value ) { if ( stristr($cookie, 'wordpress_logged_in_') ) $loggedin = true; } return $loggedin; } if ( ! stristr($_SERVER['REQUEST_URI'], '/wp-admin') && ! stristr($_SERVER['REQUEST_URI'], '/wp-login.php') && ! is_user_logged_in() ) $upgrading = time ();?> После этих действий выйдите из админ-панели (в правом верхнем углу ссылка), перезагрузите страницу, и вы увидите большую надпись на белом фоне во весь экран: «Сайт недоступен и т.д.». В таком режиме он будет находиться до тех пор, пока не удалите ранее созданный файл с сервера. Но вы можете, под ролью администратора, заходить на сайт, как обычно и, вам будет доступно все содержимое. В указанном выше коде есть несколько важных деталей: Адрес для входа в администраторскую зону прописан по умолчанию http://site.ru/wp-admin . Если вы изменяли URL входа, то в коде замените wp-admin на тот, который у вас установлен. В противном случае не сможете тогда попасть в админ-панель. В коде можно указать точное время отключения режима «технического обслуживания». В последней строчке достаточно заменить $upgrading = time (); на $upgrading = 1442743117; это формат unix timestamp . Чтобы не заморачиваться вычислением даты в секунды лучше воспользоваться конвертером (). По окончании заданного времени и еще плюс дополнительных 10 минут WordPress выйдет из режима «техническое обслуживание».Шаг 2-й. На втором шаге займемся оформлением внешнего вида страницы с сообщением о технических работах. Необходимо создать еще один файл с именем maintenance.php и поместить в него ниже представленный код. После чего загрузить на сервер в каталог wp-content . <?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' ); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Режим технического обслуживания</title> <style> .background { background: url(указать полный путь к картинке/images/bg-maintenance.jpg) no-repeat center top fixed; background-size: cover; background-size: 150%; animation: panning 50s infinite linear; } @keyframes panning { 0% { background-position: 0% 0%; } 25% { background-position: 100% 100%; } 50% { background-position: 100% 0%; } 75% { background-position: 0 100%; } 150% { background-position: 0 0; } } .content { background: rgba(255, 255, 255, 0.8) url("указать полный путь к картинке/tools-maintenance.png") no-repeat scroll 50% 20px; border-radius: 10px; margin: 100px auto 0; text-align: center; width: 605px; padding:20px 0px; box-shadow: 0 5px 0 rgba(0, 0, 0, 0.25); font-family: "Times New Roman"; } .content h1 { font-size: 30px; font-weight: 700; margin: 85px 0 50px; color: #444; } .content p { color: #222222; font-size: 17px; line-height: 1.3; padding: 0 35px; word-wrap: break-word; } </style> </head> <body class="background"> <div class="content"> <h1>Режим технического обслуживания</h1> <p>В данный момент сайт находится на техническом обслуживании. Приносим свои извинения за временные неудобства.</p> <p>Спасибо за понимание.</p> </div> </body> </html> <?php die(); ?>скачать фон скачать иконку В результате получится вот такая страница: Посмотреть Demo На этом все. |
Добро пожаловать ,
Гость
!
|