Wie kann man ein Thema auf einer Live-Site ohne Unterbrechung aktualisieren?

So habe ich eine WordPress-basierte Website mit einem benutzerdefinierten Genesis-Kind-Thema. Sobald die Website online geschaltet wird, müssen wir natürlich regelmäßig Änderungen am Code des untergeordneten Themas vornehmen – CSS und ähnliche Änderungen vornehmen. Das sind die Probleme, denen ich begegnet bin:

  1. Ich habe keinen Shell- oder FTP-Zugang, daher kann ich nicht einfach die Dateien auf dem Server ersetzen (sie wollten einen dieser dedizierten WordPress-Hosting-Anbieter für Sicherheit und Wartungsfreundlichkeit verwenden).

  2. Es ist nicht möglich, ein aktiviertes Theme “vor Ort” zu aktualisieren, wenn Sie die webbasierte Upload-function verwenden (dies können Sie nur mit Themes tun, die über die Repository-function von WordPress installiert wurden).

  3. Um die obige Einschränkung zu umgehen, dachte ich mir, dass ich den git revision hash oder was auch immer in den Themennamen schreiben werde, wenn ich die zip-Datei erstelle, was WordPress als separates Thema erscheinen lässt, und dann kann ich einfach wechseln von der alten zur neuen. Dies funktioniert, außer dass WordPress einige seiner Einstellungen zurücksetzt (insbesondere welches Menü als “Navigationsleiste” eingestellt ist).

Um es klar zu sagen, ich frage nicht, wie ich Änderungen testen / sehen kann, bevor ich sie in Produktion nehme (ich habe einen Entwicklungsserver), mein Problem ist speziell mit dem Mechanismus der Änderung.

Kann ich unter meinen gegebenen Umständen dies tun, ohne jedes Mal, wenn wir das Update durchführen, Konfigurationsänderungen vorzunehmen?

Solutions Collecting From Web of "Wie kann man ein Thema auf einer Live-Site ohne Unterbrechung aktualisieren?"

Ich denke, ich werde meine eigene Frage beantworten:

Mein Problem # 1 (kein direkter Serverzugriff) ist wahrscheinlich, was diese Situation am ärgerlichsten macht; Wäre das kein Problem gewesen, würde ich mir viele zusätzliche Möglichkeiten eröffnen.

Angesichts dieser Einschränkung scheint das Erstellen und Hochladen von “neuen” Themen die beste Wahl zu sein. Wenn man das annimmt, wird die Frage, wie man das Problem triggers, das ich in # 2 erwähnte?

Die Antwort scheint zu sein:

Dieses Problem ist eine Einschränkung von WordPress selbst ( Tracker # 18588 ), die wahrscheinlich in einer zukünftigen Version behoben wird. Bis dahin gibt es ein programmatisches Workaround, das von einem Benutzer im verknüpften Ticket (und auch hier in Stack Exchange ) bereitgestellt wird, der verwendet werden kann, um die Einstellungen zwischen Themen zu übertragen, wenn der Wechsel stattfindet. Nachdem ich diesen Code an mein eigenes Thema angepasst habe, habe ich festgestellt, dass der Workaround für meinen Anwendungsfall ausreichend ist.

Prost

In diesem Fall würde ich ein neues Thema erstellen.

Aber Vorsicht mit Live-Updates, könnte dies Cowboy-Codierung werden. Nehmen Sie Ihre Änderung auf localhost vor und laden Sie dann Ihr neues Thema als zip-Datei über die Verwaltung hoch und aktivieren Sie es.

Es wäre die genaue Kopie des früheren Themas, aber mit Modifikationen.

Ich rate Ihnen, eine Live-Kopie Ihrer Website auf Ihrem lokalen Host zu haben, diese auf dem lokalen Host zu aktualisieren und sie dann während der unaktivsten Zeit zum Live-Host zu bewegen.

Wenn Ihre Verbindung schnell ist, ist dies innerhalb einer Minute möglich.