Das Plugin „Externe Dateien in der Mediathek“ bietet eine Fülle an Möglichkeiten auch für Entwickler. Es stellt z.B. über 150 Hooks zur Verfügung, über die man Abläufe und Fähigkeiten des Plugins beeinflussen und erweitern kann. Es bietet aber auch REST API-Endpunkte an und unterstützt die Ability API. Der Beitrag hier beleuchtet diese Möglichkeiten.
Hooks
Die Liste der unterstützten Hooks ist jederzeit hier einsehbar: https://github.com/threadi/external-files-in-media-library/blob/master/docs/hooks.md
REST API
Das Plugin stellt den einen REST API-Endpunkt zur Verfügung, über den man URLs in der eigenen Mediathek verwalten kann:
/wp-json/efml/v1/fileEine Authentifizierung mit gültigen WordPress API-Zugangsdaten eines Nutzers sind notwendig. Der Nutzer muss zudem Berechtigungen zum Bearbeitung von externen URLs des Plugins „Externe Dateien in der Mediathek“ haben.
Diese Endpunkte sind seit Version 5.0.0 des Plugins verfügbar.
URL hinzufügen
Sende einen POST-Request an o.g. Endpunkt mit der URL als Request-Parameter „url“. Optional können auch „login“ und „password“ für mögliche Zugangsdaten angegeben werden.
Die Rückmeldung ist ein HTTPHTTP Hypertext Transfer Protocol-Status 200 im Erfolgsfall und 400 im Fehlerfall.
Prüfen, ob URL in Mediathek existiert
Sende einen GET-Request an o.g. Endpunkt mit der URL als Request-Parameter „url“.
Die Rückmeldung ist ein HTTP-Status 200 im Erfolgsfall, 400 wenn kein URL-Parameter angegeben wurde und 404, wenn die URL nicht bekannt ist.
URL löschen
Sende einen DELETE-Request an o.g. Endpunkt mit der zu löschenden URL als GET-Parameter „url“.
Die Rückmeldung ist ein HTTP-Status 200 im Erfolgsfall, 400 wenn kein URL-Parameter angegeben wurde und 404, wenn die URL nicht bekannt ist.
Abilities API
Die WordPress-eigene Abilities API ermöglicht es Plugins, ihre Möglichkeiten auch anderen Plugins und auch KI bekannt zugeben. Das Plugin „Externe Dateien in der Mediathek“ bietet hierfür 2 Punkte an, die verwendet werden können.
Diese Möglichkeit ist seit Version 5.1.0 vom Plugin verfügbar.
URL hinzufügen
Diese Ability hat den folgenden Namen:
'external-files-in-media-library/add'Sie benötigt die folgenden Parameter in dieser Reihenfolge:
- Attachment ID => sollte 0 sein für eine Neuanlage.
- URL => die hinzuzufügende URL.
- Login => optional für den Zugriff auf die URL notwendiges Login
- Passwort => optional für den Zugriff auf die URL notwendiges Passwort
Beispiel zur Verwendung:
$ability = wp_get_ability( 'external-files-in-media-library/add' );
$inputs = array(
'attachment_id' => 0,
'url' => 'https://example.com/your/url/file.pdf',
);
$attachment_id = $ability->execute( $inputs );Die Rückmeldung ist die Attachment ID des angelegten Eintrags für die URL in der Mediathek.
URL löschen
Diese Ability hat den folgenden Namen:
'external-files-in-media-library/delete'Sie benötigt lediglich einen Parameter:
- URL => die URL, die aus der Mediathek entfernt werden soll.
Die Rückmeldung ist ein Boolean-Wert, wobei „true“ dafür steht, dass die URL erfolgreich entfernt wurde.
WP CLI
Auch auf diesem Weg lassen sich URLs in der Mediathek verwalten. Siehe dazu die Dokumentation: https://github.com/threadi/external-files-in-media-library/blob/master/docs/cli.md
Dir fehlt eine Schnittstelle?
Melde dich dazu gerne im SupportforumSupportforum Forum für Anwender jedes Plugins um Fragen beantwortet und Hilfe zu bekommen 🙂

Schreibe einen Kommentar