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
Der Slug der Sammlung, genau so, wie wp easy-svg pack list ihn ausgibt.
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
Success: 48 icons written to acme.zip.
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
- Prüfung: Lizenz und Funktion WP-CLI.
- ZipArchive muss verfügbar sein, sonst bricht der Befehl ab, bevor er etwas liest.
- Der Slug wird im Paket-Index gesucht. Ein unbekannter Slug bricht mit
No collection called acme. Try: wp easy-svg pack listab. - Für jedes Icon sammelt der Befehl Bezeichnung und Schlagwörter und schreibt das gespeicherte, bereinigte Markup als
<icon>.svg. - Die
manifest.jsonbekommtslugundlabelder Sammlung, jedes Icon mitlabelundkeywordsund vier feste Felder:
| Feld | Wert |
|---|---|
license | UNLICENSED |
author | Der Host von home_url(), etwa example.com |
source | home_url() |
generator | easy-svg-pro plus die installierte Version |
- 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,authorundsourcein der exportiertenmanifest.jsonan, bevor du das Paket weitergibst. - Stilles Überschreiben. Eine vorhandene Datei unter
--filewird ohne Rückfrage ersetzt. - Relative Pfade folgen der Shell. Auch mit
--pathoder 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.