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 listzeigt inproblemseinen Wert über null.- Eine Designerin hat SVGs in den Ordner
assets/iconsdes Themes gelegt und einige davon fehlen im Inserter. - Eine ganze Drop-in-Sammlung fehlt. Eine kaputte
manifest.jsonregistriert 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
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.
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.
| Grund | Bedeutung |
|---|---|
manifest-invalid | manifest.json ist kein gültiges JSON, ist eine Liste, hat kein icons oder ein leeres icons. Der ganze Ordner registriert nichts. |
unsupported-version | Das Manifest nennt eine neuere Schema-Version, als dieses Plugin lesen kann. Der ganze Ordner registriert nichts. |
bad-name | Dateiname oder Name im Manifest ergibt keinen gültigen Icon-Slug. |
duplicate | Zwei Einträge landen beim selben Icon-Namen. Der erste gewinnt. |
outside-folder | Das Manifest zeigt auf eine Datei außerhalb des Ordners, oder ein Symlink führt hinaus. |
too-large | Die Datei ist größer als easy_svg_pro_source_file_max_bytes (Standard 2 MB). |
too-many | Der Ordner hat mehr Icons als easy_svg_pro_source_max_icons (Standard 1000). Diese Dateien wurden nie gelesen. |
unreadable | Die Datei ist leer oder nicht lesbar. |
not-svg | Der Sanitizer hat die Datei abgelehnt. |
no-drawing | Nach 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 ZeileSuccess:. - 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.jsonmeldet nurtoo-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 einemanifest.jsonan oder lasswp 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.