Privates Theme-Update mit Zip-Archiv ohne das Theme zu deaktivieren

Ich habe ein privates Theme und möchte so schnell wie möglich neue Theme-Versionen davon bereitstellen.

Ich habe gehört:

  • Hosting des Themas irgendwo wie wp-updates.com
  • Plugins verwenden, um Theme automatisch direkt aus einem Repository zu aktualisieren (mit Plugins wie https://github.com/afragen/github-updater oder https://wordpress.org/plugins/revisr/ )
  • Zip-Archiv mit einer neueren Version des Themes hochladen (erfordert das Aktivieren eines anderen Themas, das Löschen der vorherigen Theme-Version und das Hochladen eines neuen Zip-Archivs mit der neuen Theme-Version).

Also kam ich auf die Idee, das Thema zu aktualisieren, indem ich jedes Mal eine Zip-Datei mit einem anderen Namen verwendete (zum Beispiel my-awesome-theme-0.1.zip und so weiter).

Ist es eine gute Idee oder fehlt mir etwas?

Solutions Collecting From Web of "Privates Theme-Update mit Zip-Archiv ohne das Theme zu deaktivieren"

Bei direktem Zugriff auf den Server laden / synchronisieren die Benutzer die Dateiänderungen nur oben. Dies lässt jedoch die Möglichkeit, dass jemand die Seite besucht, gerade so, wie das Thema gerade aktualisiert wird.

Der Weg mit minimaler Unterbrechung:

  1. Laden Sie eine neue Version in ein separates Verzeichnis hoch (zB theme-name-update ).
  2. Benennen Sie das alte Themenverzeichnis um ( theme-name > theme-name-old ).
  3. Benennen Sie das Update-Verzeichnis um ( theme-name-update > theme-name ).

Wenn Sie die Schritte 2 und 3 in einem CLI-Befehl ausführen (oder ein Skript dafür haben), das den Austausch extrem schnell macht und wahrscheinlich keine Probleme verursacht.

Ich habe diesen Ansatz für private Theme-Updates mit versionierten Archiven verwendet und es scheint mir ziemlich gut zu funktionieren. Keine Probleme gefunden. Ich denke also für private Themen – es ist ein guter.

Außerdem habe ich ein Skript zum Erstellen eines versionierten Theme-Archivs wie folgt entwickelt:

 #!/bin/bash echo "======================"; echo "BUILDING THEME ARCHIVE"; echo "======================"; # Get version from style.css and CHANGES.md and compare them. # If they are the same - proceed. VER_STYLE="$(cat style.css | grep 'Version: ' | perl -pe "s/Version: (.*)\\n/\1/g")" VER_CHANGES="$(head -n 1 CHANGES.md | xargs | awk '{ print $2 }')" if [ $VER_STYLE != $VER_CHANGES ]; then printf "\e[31;5;21m%s\e[0m\n" "BUILD FAILED" echo "Your version in style.css ($VER_STYLE) differs from version in CHANGES.md ($VER_CHANGES)."; echo "Please actualize."; exit 1; fi # Theme archive build. # Also create a new tag for builded version. build_name="my-theme_$VER_STYLE.zip" echo "Building $build_name ..."; zip -r -q \ --exclude=.* \ --exclude=sass/* \ --exclude=*/.DS_Store \ --exclude=*.md \ --exclude=*.zip \ --exclude=*.sh \ $build_name . && git tag $VER_STYLE && git push --tags && printf "\e[32;5;21m%s\e[0m\n" "done" ; exit 0;