Intereting Posts
Предложения для творческого использования функции формата сообщения или темы, которые их хорошо используют Как сделать 2 ленты тегов отображаются на 1 странице? Установить ограничение времени сеанса для защищенных паролем сообщений WordPress ajax получает содержимое сообщения id Сообщение на сервер, записанный в Hapijs из wordpress, используя wp_remote_post Использовать ajax для update_post_meta почему term_id и term_taxonomy_id не совпадают с пользовательскими таксономиями, но являются дубликатами по категориям Не удается открыть пользовательские типы сообщений в навигации Пропущенный плановый WordPress Изменение между локальной базой БД и производственной БД и обратным Веб-сайт получает спам-комментарии Пользовательская тема с пользовательскими циклами Что лучше: пользовательские поля и пользовательские таксономии с условиями для производительности, масштабируемости и лучшего пользовательского интерфейса Как сохранить значения из списков категорий выпадающих списков после подачи неправильной формы? Периодически отсутствующие страницы и сообщения в WordPress

Как можно обновлять тему на живом сайте без перерывов?

Поэтому у меня есть сайт на основе WordPress с пользовательской дочерней темой Genesis. После того, как сайт появится в прямом эфире, нам, очевидно, придется периодически вносить изменения в код дочерней темы – изменение CSS и тому подобное. Это проблемы, с которыми я столкнулся:

  1. У меня нет доступа к оболочке или FTP, поэтому я не могу просто заменить файлы на сервере (они хотели использовать одного из этих выделенных хостинг-провайдеров WordPress для обеспечения безопасности и удобства обслуживания).

  2. Невозможно обновить активную тему «на месте» при использовании функции загрузки через Интернет (это можно сделать только с темами, установленными с помощью репозитория WordPress).

  3. Чтобы обойти вышеупомянутое ограничение, я подумал, что, возможно, я просто поставлю хэш-версию git или что-то в имени темы каждый раз, когда я создам zip-файл, который заставит WordPress рассматривать его как отдельную тему, а затем я могу просто переключиться от старого до нового. Это работает, за исключением того, что это заставляет WordPress перезагружать некоторые из его настроек (в частности, какое меню установлено как «панель навигации»).

Чтобы быть ясным, я НЕ спрашиваю, как я могу проверить / увидеть изменения, прежде чем создавать их на производстве (у меня есть сервер разработки), моя проблема связана именно с механизмом внесения изменений.

Учитывая мои обстоятельства, есть ли способ сделать это, не вызывая прерывания / необходимости изменять конфигурацию при каждом обновлении?

Solutions Collecting From Web of "Как можно обновлять тему на живом сайте без перерывов?"

Думаю, я собираюсь ответить на свой вопрос:

Моя проблема № 1 (без прямого доступа к серверу), вероятно, делает эту ситуацию наиболее раздражающей; если бы это не было проблемой, я думаю, что для меня будет много дополнительных возможностей.

Но с учетом этого ограничения создание и загрузка «новых» тем, по-видимому, является лучшим выбором. Принимая это, возникает вопрос, как решить проблему, о которой я упоминал в № 2?

Ответ выглядит следующим образом:

Эта проблема является ограничением самого WordPress ( трекер № 18588 ), который, вероятно, будет исправлен в будущей версии. До тех пор существует программная работа, предоставляемая пользователем в связанном билете (а также здесь на Stack Exchange ), который может использоваться для передачи настроек между темами при переключении. Приспособив этот код к моей теме, я обнаружил, что обход достаточен для моего использования.

ура

В этом случае я бы создал новую тему.

Но будьте осторожны с живым обновлением, это может превратиться в ковбойское кодирование. Сделайте свое изменение на локальном хосте, а затем загрузите новую тему в виде zip-файла с помощью администрирования и активируйте его.

Это будет точная копия прежней темы, но с изменением.

Я бы посоветовал, что у вас есть живая копия вашего веб-сайта на локальном хосте, обновите его на локальном хосте, и они перейдут на живой хост в течение наименее активного времени.

Если ваша ссылка быстрая, это может быть сделано в течение одной минуты.