Продолжим Практику PHP
Как на время закрыть сайт для посетителей, чтоб спокойно внести в него изменения, не загружая для этого дополнительного плагина.
Плагины вообще штука не желательная, так как для решения одной конкретной задачи, в них обычно наворочено куча вариантов для реализации, оформления, и подачи этого решения.
Видимо, чтоб угодить самому изощрённому разуму и вкусу, но ведь на всех всё равно не угодишь, а вот подсадить скорость загрузки — это уж как пить дать.
А ведь чтоб закрыть на некоторое время, обычно очень не продолжительное, сайт для посетителей, нужны всего несколько строчек кода.
Причём из админки, на вашем компьютере, он будет так же виден, как и обычно, так что исправляй, переделывай и наблюдай всё что угодно.
Вот нужный код, в котором используется стандартная функция php, к которой привязывается функция действия.
function wp_maintenance_mode(){ if(!current_user_can('edit_themes') || !is_user_logged_in()){ wp_die('Maintenance, please come back soon.', 'Maintenance - please come back soon.', array('response' => '503')); } } add_action('get_header', 'wp_maintenance_mode');
Правда если оставить его в таком виде, то посетитель не владеющий английским будет, скорее всего озадачен, и толком не поймёт, что случилось с сайтом.
Поэтому этот код мы немного подправим, а именно, в третьей строке текст Maintenance, please come back soon, заменим на свой, в котором всё понятно объясним.
Например так:
function wp_maintenance_mode(){ if(!current_user_can('edit_themes') || !is_user_logged_in()){ wp_die('Извините, сайт закрыт на обслуживание 07. 07. 2015 18-00. Буду очень рад, если Вы зайдёте через 2 часа', 'Maintenance - please come back soon.', array('response' => '503')); } } add_action('get_header', 'wp_maintenance_mode');
Теперь посмотрим, как этот код применить.
Заходим Внешний вид — Редактор — Функции темы (functions.php), и вставляем этот код в самом конце, после всех записей.
Обычно последней стоит endif;, вот после неё и вставляем.
Обновляем файл, и если у кого установлен плагин кеширования, очищаем кеш. Теперь если выйти из режима администрирования, и зайти на сайт по адресу, как посетитель, то вам откроется такая картинка.
Вот так, ничего лишнего, и всё понятно. Делайте всё что Вам нужно, после чего удалите код, обновите файл, очистите кеш, и сайт будет снова открыт.
Желаю творческих успехов.
Перемена
Если муж ушёл налево, самое главное с ним там не столкнуться.
Шорткод WordPress < < < В раздел > > > Как вставить блок во всех записях после заголовка
Алексей. Выражение «идеологически не правильно» ничего ни даёт посетителю, тем более новичку, а мой сайт именно для них. Пожалуйста разложите эту идеологию так, чтоб стало ясно — да, действительно, так лучше так не делать, а то произойдёт то-то и то-то.
И ещё. Не помню точно, но что-то было насчёт не активных плагинов на сайте. Сейчас нет времени гуглить, но это вопрос.
Хотя ваша идея насчёт самописных плагинов мне очень нравится, и я обязательно приму её на вооружение. И буду очень признателен, и не только я скорее всего, если вы осветите момент безопасности таких плагинов.
Доброго времени суток!
Без обид, но считаю идеологически неправильным вносить изменения в файл темы functions.php.
1. Создаем отдельный плагин, например disabled-enabled-site.php
2. Если нужно закрыть сайт — активируем плагин, иначе дезактивирум.
3. Перед тем как активировать плагин, ручками: админка WP -> плагины -> Disabled|Enabled site -> Изменить -> пишем нужное время