wp easy-svg pack import
Liest ein Paket-ZIP als neues, veröffentlichtes Icon-Set ein, jedes Icon bereinigt und gehärtet, Slug wählbar mit --as. Ins Dateisystem wird nichts geschrieben.
WP-CLI-Befehl · Easy SVG Pro · Status: Stabil
Dieser Befehl liest ein Paket-ZIP und speichert es als neues Icon-Set in der Datenbank. Jedes Icon läuft vorher durch Sanitizer und Härter dieser Seite, genau wie ein Upload im Tab Pakete. Entpackt wird nichts. Nach dem Import ist das Set ein ganz normales Icon-Set, das du im Set-Editor bearbeiten kannst.
Verwendung
wp easy-svg pack import <file> [--as=<slug>]
Wann du es brauchst
- Du hast ein Set mit
wp easy-svg pack exportexportiert und willst es auf einer anderen Seite haben. - Ein Provisioning-Skript richtet neue Kundenseiten mit den Standard-Icon-Sets der Agentur ein.
- Du hast von einer Designerin ein Paket bekommen und willst es in der Datenbank statt als Dateien.
Nicht geeignet, wenn du Schlagwörter behalten willst. Ein Icon-Set speichert pro Icon nur Name und Bezeichnung. Entpack das Paket stattdessen nach wp-content/easy-svg-icons/<slug>/, dort bleibt das Manifest, wie es ist.
Parameter
Pfad zum Paket-ZIP. Der Benutzer, unter dem WP-CLI läuft, muss die Datei lesen können.
Der Slug, unter dem das Set gespeichert wird, statt des Slugs aus dem Manifest. Gib einen kleingeschriebenen Slug wie brand-icons an: Der Befehl macht selbst keinen Slug daraus.
Rückgabewert
Eine Warnung pro abgelehntem Icon (Warning: logo.svg was not imported.), eine Warnung, wenn der Slug vergeben war (acme was taken; registering as acme-2.), und eine Erfolgszeile: Success: 48 icons imported as acme.
0, wenn das Set gespeichert wurde, auch mit Warnungen. 1, wenn Lizenz oder Funktion WP-CLI aus sind, die Datei nicht lesbar ist, Easy SVG Support inaktiv oder zu alt zum Härten ist, kein Icon der Datei akzeptiert wurde, kein freier Slug gefunden wurde oder das Set nicht gespeichert werden konnte.
Standardwert
Der Slug kommt aus --as, sonst aus slug im Manifest, sonst heißt er pack.
Beispiele
Ein Paket importieren
wp easy-svg pack import acme.zip
Eine neue Kundenseite einrichten
#!/usr/bin/env bash
set -euo pipefail
for pack in /srv/agency/packs/*.zip; do
slug="$(basename "$pack" .zip)"
wp easy-svg pack import "$pack" --as="$slug"
done
wp easy-svg icons list
Unter festem Namen importieren und bei Kollision abbrechen
Der Befehl scheitert nie an einem vergebenen Slug, er weicht auf -2 aus. Hängen Templates am genauen Slug, prüf es selbst:
out="$(wp easy-svg pack import brand.zip --as=brand 2>&1)"
echo "$out"
if grep -q 'was taken' <<<"$out"; then
echo "brand gibt es schon. Das neue Set hat einen anderen Slug, Templates finden es nicht." >&2
exit 1
fi
Defensiv: sicherstellen, dass das Set auch erscheint
wp plugin is-active easy-svg || { echo "Easy SVG Support ist inaktiv" >&2; exit 1; }
wp option get easy_svg_pro_features --format=json | jq -e '.editor == true' >/dev/null \
|| echo "Warnung: Icon-Set-Editor ist aus, das Set wird gespeichert, aber nicht als Sammlung genutzt." >&2
wp easy-svg pack import brand.zip --as=brand
So funktioniert es
- Das Archiv liest derselbe ZIP-Leser wie der Upload unter Pakete, die Preset-Installation und der Set-Import. Gelesen werden nur
.svg-Einträge undmanifest.json, Pfade mit..oder führendem/werden übersprungen, und es gelten die Grenzen auseasy_svg_pro_import_max_entries(2000 Einträge),easy_svg_pro_import_max_total_bytes(16 MB) sowie die Größengrenze pro Datei aus dem kostenlosen Plugin. - Das Manifest benennt die Icons und liefert Bezeichnungen. Ein SVG ohne Eintrag wird trotzdem importiert, benannt nach seiner Datei.
- Jedes Icon wird bereinigt und gehärtet. Was das nicht übersteht, erscheint als Warnung.
- Der Slug kommt aus
--as, dem Manifest oder istpack. Gibt es schon eine Sammlung dieses Namens, probiert der Befehl-2,-3und so weiter bis-999und warnt. - Ein veröffentlichter Post vom Typ
easy_svg_setentsteht, mit der Bezeichnung aus dem Manifest als Titel. Als Herkunft wirdimport-cligespeichert, dazulicense,authorundsourceaus dem Manifest. Der Tab Pakete zeigt sie an. - Die Icons werden über die eine Funktion geschrieben, über die jeder Set-Schreibvorgang läuft. Sie nimmt die Set-Sperre und löst
easy_svg_pro_set_icons_writtenaus, also sehen Icon-Verlauf und deine eigenen Listener den Import.
Stolperfallen
- Schlagwörter gehen verloren. Ein Set speichert pro Icon nur Name und Bezeichnung.
- Eine Kollision stoppt den Import nicht. Das Set landet mit nur einer Warnung und Exit-Code
0unterslug-2. Skripte, die einen festen Slug brauchen, müssen die Ausgabe prüfen. --aswird so genommen, wie es ist.--as="My Brand"wird alsMy Brandauf Kollision geprüft, dann macht WordPress den Post-Slugmy-branddaraus, und die Erfolgszeile meldet trotzdemMy Brand. Gib immer einen kleingeschriebenen Slug an.- Stille Grenzen. Einträge jenseits der Eintragsgrenze oder der Gesamtgröße und Dateien über der Grenze pro Datei werden nie gelesen und deshalb auch nicht als abgelehnt gemeldet. Ein großes Paket kann kleiner ankommen, als es ist. Vergleich die Zahl in der Erfolgszeile mit dem Paket.
- Der Icon-Set-Editor entscheidet über die Sichtbarkeit. Das Set wird auch bei ausgeschalteter Funktion gespeichert, als Sammlung registriert wird es aber nur, solange sie an ist.
- Jeder Lauf erzeugt ein neues Set. Importierst du dasselbe Paket zweimal, hast du
acmeundacme-2. Einen Update-Modus gibt es nicht.