WP-CLIwp easy-svg pack export

wp easy-svg pack export

Schreibt eine Icon-Sammlung als Paket-ZIP mit manifest.json und einem SVG pro Icon, bereit zum Import auf einer anderen Seite oder für einen Drop-in-Ordner.

WP-CLI-Befehl · Easy SVG Pro · Status: Stabil

Ein Paket ist eine Icon-Sammlung als eine Datei: ein ZIP mit einer manifest.json und einem SVG pro Icon. Dieser Befehl schreibt so ein ZIP für jede Sammlung der Seite, egal woher sie stammt: aus einem Icon-Set, einem Theme-Ordner, einem Drop-in-Ordner oder der kostenlosen Icon-Bibliothek. Du kannst die Datei auf einer anderen Seite importieren oder nach wp-content/easy-svg-icons/<slug>/ entpacken.

Verwendung

wp easy-svg pack export <collection> [--file=<path>]

Wann du es brauchst

  • Du hast auf Staging ein Icon-Set gebaut und willst dasselbe Set in Produktion oder auf der Seite eines anderen Kunden.
  • Du willst ein Backup einer Sammlung als Datei, die du in Git ablegen kannst.
  • Du willst aus einem Icon-Set in der Datenbank Dateien machen, die ein Theme mitbringt.

Parameter

query
collectionpositional
Required

Der Slug der Sammlung, genau so, wie wp easy-svg pack list ihn ausgibt.

query
--fileoption

Wohin das ZIP geschrieben wird. Relative Pfade starten im Verzeichnis, in dem WP-CLI läuft. Eine vorhandene Datei unter diesem Pfad wird überschrieben.

Rückgabewert

stdouttext

Success: 48 icons written to acme.zip.

exit codeint

0, wenn die Datei geschrieben wurde. 1, wenn Lizenz oder Funktion WP-CLI aus sind, die PHP-Erweiterung ZipArchive fehlt, der Slug unbekannt ist oder die Datei nicht geschrieben werden kann.

Standardwert

--file=<collection>.zip im aktuellen Verzeichnis.

Beispiele

Ein Set exportieren

wp easy-svg pack export acme --file=acme.zip

Ein Set von Staging nach Produktion bringen

#!/usr/bin/env bash
set -euo pipefail

wp @staging easy-svg pack export acme --file=/tmp/acme.zip
scp /tmp/acme.zip prod:/tmp/acme.zip
wp @production easy-svg pack import /tmp/acme.zip --as=acme

Ein Set mit deinem Theme ausliefern

wp easy-svg pack export acme --file=/tmp/acme.zip
mkdir -p wp-content/themes/acme-theme/assets/icons
unzip -o /tmp/acme.zip -d wp-content/themes/acme-theme/assets/icons

Der slug im Manifest benennt die Theme-Sammlung dann acme. Entferne die Zeile slug aus der manifest.json, wenn die Theme-Sammlung ihren Standardnamen theme behalten soll.

Defensiv: ZipArchive und Slug vorher prüfen

if ! php -m | grep -qi '^zip$'; then
	echo "PHP-Erweiterung zip fehlt auf diesem Host." >&2
	exit 1
fi
wp easy-svg pack export acme --file="backups/acme-$(date +%F).zip" || {
	echo "Export fehlgeschlagen. Probier: wp easy-svg pack list" >&2
	exit 1
}

So funktioniert es

  1. Prüfung: Lizenz und Funktion WP-CLI.
  2. ZipArchive muss verfügbar sein, sonst bricht der Befehl ab, bevor er etwas liest.
  3. Der Slug wird im Paket-Index gesucht. Ein unbekannter Slug bricht mit No collection called acme. Try: wp easy-svg pack list ab.
  4. Für jedes Icon sammelt der Befehl Bezeichnung und Schlagwörter und schreibt das gespeicherte, bereinigte Markup als <icon>.svg.
  5. Die manifest.json bekommt slug und label der Sammlung, jedes Icon mit label und keywords und vier feste Felder:
FeldWert
licenseUNLICENSED
authorDer Host von home_url(), etwa example.com
sourcehome_url()
generatoreasy-svg-pro plus die installierte Version
  1. Das ZIP wird mit ZipArchive im Modus Anlegen und Überschreiben geschrieben. Dateinamen werden auf ihren Basisnamen gekürzt, das Archiv ist also immer flach.

Stolperfallen

  • Die Lizenz ist immer UNLICENSED. Ein Paket aus einem Set, das mit einem CC-BY- oder MIT-Hinweis kam, trägt diesen Hinweis nicht ins neue Manifest. Pass license, author und source in der exportierten manifest.json an, bevor du das Paket weitergibst.
  • Stilles Überschreiben. Eine vorhandene Datei unter --file wird ohne Rückfrage ersetzt.
  • Relative Pfade folgen der Shell. Auch mit --path oder einem Alias wird das ZIP relativ zum aktuellen Verzeichnis auf dem Rechner geschrieben, auf dem WP-CLI läuft. Bei einem @remote-Alias ist das der entfernte Server.
  • Schlagwörter reisen mit, aber nicht überall hin. Sie stehen im Manifest. Ein als Icon-Set importiertes Paket verliert sie wieder, ein in einen Ordner entpacktes behält sie.

Siehe auch