Easy SVG Entwickler-Referenz
Alles, worauf du bei Easy SVG aufbauen kannst: Hooks, Funktionen, der Shortcode, die Icon-Block-Sammlung, die Panel-Registry und die REST-Routen.
API-Status
Live-Verfügbarkeit der Updates-, Downloads-, Composer- und Account-APIs. Schau hier zuerst, wenn ein Update oder eine Composer-Installation scheitert.
Easy SVG Support bereinigt jedes SVG, bevor WordPress es speichert, und verwaltet eine Bibliothek mit deinen eigenen Icons für den Icon-Block. Dazu kommt eine kleine, bewusst gewählte Auswahl an Hooks, Funktionen und JavaScript-Einstiegen für Themes, Website-Plugins und Add-ons. Auf dieser Seite siehst du, was es gibt, was versprochen bleibt und wie du die Referenzseiten liest.
Worauf du aufbauen kannst
Hooks
Filter und Actions, um die Erlaubt-Liste des Sanitizers zu erweitern, Upload-Grenzen zu setzen, Icons zu ändern und das Icons-Panel zu erweitern.
PHP-Funktionen
Ein gespeichertes Icon mit easy_svg_icon() ausgeben, Markup mit easy_svg_sanitizer() bereinigen, Icons umbenennen oder reparieren.
Shortcode
Der Shortcode easy_svg_icon gibt ein Icon überall dort aus, wo du kein PHP schreiben kannst.
Icon-Block-Sammlung
Deine Bibliothek erscheint im Icon-Block von WordPress als Sammlung easy-svg (ab WordPress 7.1).
Registry des Icons-Panels
Über window.EasySvgPanel fügt ein Add-on dem Icons-Bildschirm Tabs und Icon-Sammlungen hinzu.
REST-Routen
Die Routen unter easy-svg/v1, über die das Icons-Panel Einstellungen und die Icon-Bibliothek verwaltet.
Kurz zusammengefasst:
- Hooks. Jeder Hook hat einen festen, ausgeschriebenen Namen. Die Sanitizer-Filter (
esw_svg_allowed_tags,esw_svg_allowed_attributes,esw_svg_remove_remote_references) behalten ihr älteres Präfixesw_, weil viele Websites sie schon nutzen. Alles Neuere beginnt miteasy_svg_. - Funktionen.
easy_svg_sanitizer(),easy_svg_icon(),easy_svg_rename_icon()undeasy_svg_update_icon_markup(). - Shortcode.
[easy_svg_icon name="easy-svg/heart"]mit den optionalen Angabenclassundlabel, gibt dasselbe Markup aus wieeasy_svg_icon(). - Icon-Block. Ist die Icon-Bibliothek eingeschaltet und hat WordPress seine Icon-Registry (ab 7.1), wird jedes gespeicherte Icon in der Sammlung
easy-svgfür den Icon-Block registriert. - JavaScript. Auf dem Icons-Bildschirm bietet
window.EasySvgPaneldie EinträgeregisterTab(),registerCollections()undapi. - REST. Das Panel spricht mit
easy-svg/v1/settingsundeasy-svg/v1/library(mitadd,media,rename,replaceunddelete). Jede Route verlangt die Berechtigungmanage_options. Diese Routen sind intern: Sie dienen dem Panel und gehören nicht zum Versprechen unten. Das REST-API-Tutorial zeigt, wie du sie trotzdem sinnvoll nutzt.
Was versprochen bleibt
Die readme des Plugins zieht eine klare Grenze, und diese Referenz folgt ihr:
- Stabil ist, was die readme für Entwickler nennt: die Hooks in ihren FAQ, die Funktionen oben, die drei Versionskonstanten, der Shortcode, die Icon-Block-Sammlung und die Einträge der Panel-Registry. Sie behalten Namen und Verhalten, und wenn sich ihre Form ändert, ändert sich eine Versionskonstante mit.
- Intern ist alles andere: Hilfsfunktionen, die Klassen
esw_svg_tagsundesw_svg_attributes, das globale$sanitizer, Optionen, Transients, die REST-Routen und weitere JavaScript-Eigenschaften. Laut readme darf alles andere umbenannt oder entfernt werden. Interne Seiten sind dokumentiert, damit du das Plugin verstehst, und tragen jeweils einen Hinweis.
function_exists() oder class_exists() still und leise false, und dein Add-on glaubt dann, Easy SVG sei nicht installiert.Versionskonstanten und Funktionserkennung
Vergleiche mit diesen Zahlen, nie mit der Plugin-Version. Jede ändert sich nur, wenn sich ihre eigene Schnittstelle ändert, und ob es einen Filter gibt, kannst du nicht abfragen. Die Konstanten sind also das einzige verlässliche Signal.
| Konstante | Heute | Deckt ab |
|---|---|---|
EASY_SVG_API | 3 | easy_svg_sanitizer() |
EASY_SVG_PANEL_API | 3 | easy_svg_panel_enqueue, easy_svg_panel_menu_tabs, easy_svg_max_mb_ceiling, window.EasySvgPanel (2 brachte area, icon und eine Berechtigung pro Tab, 3 brachte registerCollections()) |
EASY_SVG_ICONS_API | 3 | easy_svg_registrable_icons (1), easy_svg_rename_icon() (2), easy_svg_update_icon_markup() (3) |
Alle drei werden definiert, wenn easy-svg.php lädt, egal welche Funktionen eingeschaltet sind. Ein Plugin, das vor Easy SVG lädt, sieht sie noch nicht. Prüf deshalb auf plugins_loaded oder später:
function myaddon_boot() {
if ( ! defined( 'EASY_SVG_API' ) ) {
return; // Easy SVG Support ist nicht aktiv.
}
if ( defined( 'EASY_SVG_ICONS_API' ) && EASY_SVG_ICONS_API >= 3 ) {
require_once __DIR__ . '/includes/icon-repair.php';
}
if ( defined( 'EASY_SVG_PANEL_API' ) && EASY_SVG_PANEL_API >= 3 ) {
add_action( 'easy_svg_panel_enqueue', 'myaddon_enqueue_panel_bundle' );
}
}
add_action( 'plugins_loaded', 'myaddon_boot' );
In JavaScript liest du auf dem Icons-Bildschirm window.EasySvgPanel.api. Dort steht dieselbe Zahl wie in EASY_SVG_PANEL_API.
So liest du eine Referenzseite
Jede Seite hat dieselben Abschnitte in derselben Reihenfolge:
- Kopfzeile: die Art (Filter, Action, Funktion, Shortcode, Block, Konstante, JavaScript), das Produkt und der Status.
- Verwendung: die genaue Signatur oder Definition.
- Wann du es brauchst: echte Situationen, und wann du besser zu etwas anderem greifst.
- Parameter: was jedes Argument enthält und welche Werte erlaubt sind.
- Rückgabewert: was dein Callback oder die Funktion zurückgeben muss, oder was die Konstante enthält.
- Standardwert: der Wert, wenn niemand etwas ändert.
- Beispiele: ein einfacher Fall, ein realistischer und ein defensiver, der zuerst prüft, ob das Plugin da ist.
- So funktioniert es: was der Code wirklich tut, in welcher Reihenfolge und auf welchen WordPress-Hooks.
- Stolperfallen: Fehler, die sich aus dem Code ergeben, dazu Sicherheitshinweise, wo sie wichtig sind.
- Siehe auch: die benachbarten Einträge.
Der Status ist entweder Stabil (gehört zum Versprechen oben) oder Intern (kann sich ohne Ankündigung ändern).
Die Gruppen ordnen die Referenz nach Thema:
| Gruppe | Was sie abdeckt |
|---|---|
| Sanitizer | Die Erlaubt-Listen, externe Verweise und die Sanitizer-Funktion |
| Uploads and limits | Upload-Prüfungen, Größengrenze und Strukturgrenzen |
| Multisite | Wie die erlaubten Dateitypen des Netzwerks beachtet werden |
| Icons | Die Icon-Bibliothek, easy_svg_icon(), der Shortcode und die Icon-Schreibfunktionen |
| Blocks | Die Icon-Block-Sammlung und wie Icons dafür vorbereitet werden |
| Icons panel | Der Icons-Bildschirm im Backend und seine JavaScript-Registry |
| Admin | Hinweise im Backend, Menü und die Zeile auf der Plugin-Seite |
| Constants | Versionsnummern und feste Werte |
| Data | Optionen, der Icon-Beitragstyp, Transients und das Speichern der Einstellungen |
| REST API | Die REST-Routen des Panels und ihre Handler |
Tutorials
Ein Add-on bauen
Ein kleines Plugin, das Easy SVG erkennt und einen Panel-Tab samt Menüeintrag hinzufügt.
Den Sanitizer erweitern
Zusätzliche Tags und Attribute sicher erlauben und den Sanitizer der Website wiederverwenden.
Icons in Themes ausgeben
easy_svg_icon(), den Shortcode und den Icon-Block in einem Theme nutzen.
Die REST-API nutzen
Einstellungen und Icons per Skript lesen und ändern, mit den Grenzen, die dabei gelten.
Alle stabilen Einträge
Sanitizer
esw_svg_allowed_tags: filtert die SVG-Elementnamen, die der Sanitizer behält.esw_svg_allowed_attributes: filtert die SVG-Attributnamen, die der Sanitizer behält.esw_svg_remove_remote_references: entscheidet, ob Verweise auf andere Hosts entfernt werden.easy_svg_sanitizer(): liefert einen Sanitizer, der genau so eingestellt ist wie der der Website.
Uploads and limits
easy_svg_max_bytes: das größte SVG in Bytes, das das Plugin liest.easy_svg_max_mb_ceiling: die höchste Größe, die Admins in den Einstellungen wählen können.easy_svg_max_php_tags: wie viele Verarbeitungsanweisungen eine Datei enthalten darf.easy_svg_max_use_tags: wie vieleuse-Elemente eine Datei enthalten darf.
Multisite
easy_svg_respect_network_filetypes: ob die erlaubten Dateitypen des Netzwerks SVG fernhalten können.
Icons
easy_svg_icon(): liefert ein gespeichertes Icon als Inline-SVG.easy_svg_icon: die Shortcode-Variante voneasy_svg_icon().easy_svg_icon_markup: filtert das Markup eines Icons auf dem Weg auseasy_svg_icon()und dem Shortcode.easy_svg_registrable_icons: filtert die ganze Bibliothek, bevor sie beim Icon-Block ankommt.easy_svg_rename_icon(): ändert den sichtbaren Namen eines Icons und behält den Slug.easy_svg_update_icon_markup(): ersetzt die Zeichnung eines Icons, durch Sanitizer und Upload-Grenzen.
Blocks
easy-svg: die Icon-Sammlung, die für den Icon-Block registriert wird.
Icons panel
easy_svg_panel_enqueue: feuert, wenn das Panel-Skript eingereiht wird, damit deins danach lädt.easy_svg_panel_menu_tabs: welche Tabs einen eigenen Menüeintrag bekommen und welche Berechtigung jeder braucht.window.EasySvgPanel: die Erweiterungs-Registry des Panels.window.EasySvgPanel.registerTab: fügt einen Tab mit eigener Render-Funktion hinzu.window.EasySvgPanel.registerCollections: zeigt die Icon-Sammlungen eines Add-ons im Tab Icon-Bibliothek.window.EasySvgPanel.api: die Vertragsstufe des Panels in JavaScript.
Admin
easy_svg_pro_url: die Adresse hinter dem Link Easy SVG Pro kaufen auf der Plugin-Seite.
Constants
EASY_SVG_API: Version des Sanitizer-Vertrags.EASY_SVG_PANEL_API: Version des Icons-Panel-Vertrags.EASY_SVG_ICONS_API: Version des Icon-Vertrags.