WP-CLIwp easy-svg icons problems

wp easy-svg icons problems

Nennt jede Datei, die ein Theme-, Drop-in- oder registrierter Icon-Ordner nicht verwenden konnte, samt Grund. So reparierst du die Datei, statt zu raten.

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

Wenn ein Icon, das du in einen Ordner gelegt hast, nicht auftaucht, sagt dir dieser Befehl warum. Er gibt pro abgelehnter Datei eine Zeile aus, mit Sammlung, Ordner, Dateiname, Icon-Name und Grund. Wurde nichts abgelehnt, sagt er das in einer Zeile.

Verwendung

wp easy-svg icons problems

Keine Argumente, keine Optionen. Ausgegeben wird eine Tabelle oder eine Erfolgsmeldung, wenn jeder Ordner alles registriert hat, was er enthält.

Wann du es brauchst

  • wp easy-svg icons list zeigt in problems einen Wert über null.
  • Eine Designerin hat SVGs in den Ordner assets/icons des Themes gelegt und einige davon fehlen im Inserter.
  • Eine ganze Drop-in-Sammlung fehlt. Eine kaputte manifest.json registriert nichts und wird hier mit einer Zeile gemeldet.
  • Als CI- oder Deploy-Prüfung: Ein leeres Ergebnis heißt, dass jede Datei in jedem Quellordner verwendet wird.

Für Icon-Sets und Uploads ist der Befehl nicht gedacht. Sets liegen in der Datenbank und wurden schon beim Speichern geprüft. Einen Ordner prüfst du vor dem Livegang mit wp easy-svg icons validate.

Parameter

Der Befehl hat keine Parameter und keine Optionen.

Rückgabewert

stdouttable

Eine Zeile pro abgelehnter Datei mit den Spalten collection, source (Pfad des Ordners), file, icon und reason. Wurde nichts abgelehnt: Success: Every source folder registered everything it holds.

exit codeint

In beiden Fällen 0. 1, wenn die Lizenz nicht aktiv ist oder die Funktion WP-CLI aus ist.

Standardwert

Erfasst jeden Quellordner, der in diesem Request gescannt wurde: das aktive Theme (Eltern- und Child-Theme), jeden Drop-in-Ordner unter wp-content/easy-svg-icons und jedes Verzeichnis, das an easy_svg_register_icon_collection() übergeben wurde.

Beispiele

Herausfinden, warum Icons fehlen

wp easy-svg icons problems
+------------+---------------------------------------+------------------+-----------+--------------+
| collection | source                                | file             | icon      | reason       |
+------------+---------------------------------------+------------------+-----------+--------------+
| acme       | /var/www/wp-content/easy-svg-icons/acme | phone.svg        | phone     | not-svg      |
| brand      | /var/www/wp-content/easy-svg-icons/brand | manifest.json  |           | manifest-invalid |
+------------+---------------------------------------+------------------+-----------+--------------+

Einen Deploy stoppen, wenn ein Ordner Icons verloren hat

Der Befehl endet in jedem Fall mit 0, prüf also die Ausgabe statt des Exit-Codes:

out="$(wp easy-svg icons problems)"
if ! grep -q '^Success:' <<<"$out"; then
	echo "$out"
	echo "Einige Icon-Dateien werden nicht verwendet. Bitte vor dem Livegang reparieren." >&2
	exit 1
fi

Berichte von allen Kundenseiten sammeln

for path in /var/www/clients/*/public; do
	echo "== $path"
	wp --path="$path" easy-svg icons problems 2>&1 || true
done > icon-problems-report.txt

So funktioniert es

Jeder Quellordner wird auf init mit Priorität 9 gescannt, solange Theme- und Ordner-Quellen an ist. Jede Datei, die der Scan nicht verwenden kann, wird für ihre Sammlung festgehalten, noch bevor die Sammlung registriert wird. Genau diese Liste gibt der Befehl aus. Es ist dieselbe Liste, die der Tab Pakete unter einer Sammlung zeigt.

Die Gründe, die dir begegnen können. Alle davon werden für einen Ordner mit manifest.json gemeldet (für die Dateien, die das Manifest nennt). Ein Ordner ohne Manifest meldet nur too-many, siehe Stolperfallen.

GrundBedeutung
manifest-invalidmanifest.json ist kein gültiges JSON, ist eine Liste, hat kein icons oder ein leeres icons. Der ganze Ordner registriert nichts.
unsupported-versionDas Manifest nennt eine neuere Schema-Version, als dieses Plugin lesen kann. Der ganze Ordner registriert nichts.
bad-nameDateiname oder Name im Manifest ergibt keinen gültigen Icon-Slug.
duplicateZwei Einträge landen beim selben Icon-Namen. Der erste gewinnt.
outside-folderDas Manifest zeigt auf eine Datei außerhalb des Ordners, oder ein Symlink führt hinaus.
too-largeDie Datei ist größer als easy_svg_pro_source_file_max_bytes (Standard 2 MB).
too-manyDer Ordner hat mehr Icons als easy_svg_pro_source_max_icons (Standard 1000). Diese Dateien wurden nie gelesen.
unreadableDie Datei ist leer oder nicht lesbar.
not-svgDer Sanitizer hat die Datei abgelehnt.
no-drawingNach Bereinigen und Härten ist nichts Zeichenbares übrig.

Stolperfallen

  • Exit-Code 0 heißt nicht „alles gut“. Ein sauberes Ergebnis und eine Tabelle voller Probleme enden beide mit 0. Prüf in Skripten auf die Zeile Success:.
  • Eine ausgeschaltete Funktion meldet nichts. Ist Theme- und Ordner-Quellen aus, wird kein Ordner gescannt. Du bekommst die Erfolgsmeldung, obwohl die Ordner voller kaputter Dateien sein können.
  • Ordner ohne Manifest sind meistens still. Ein Ordner ohne manifest.json meldet nur too-many. Eine Datei, die zu groß, nicht lesbar, vom Sanitizer abgelehnt, nach dem Härten leer, schlecht benannt oder doppelt ist, wird ohne Zeile übersprungen. Leg eine manifest.json an oder lass wp easy-svg icons validate über den Ordner laufen, dann bekommst du ein Urteil pro Datei.
  • Das Ergebnis folgt dem Cache. Scans werden pro Ordner zwischengespeichert und neu gebaut, wenn sich eine Datei oder das Manifest ändert. Eine Reparatur zeigt sich, sobald sich die Änderungszeit der Datei ändert.

Siehe auch