Skip to content

Entwicklerschnittstellen

FG Media Audit 0.9.1 deklariert keine eigene stabile externe PHP-API. Die Klassen sind überwiegend interne Implementierung. Relevant für Integrationen sind vor allem WordPress-Endpunkte, Plugin-Konstanten und die Hooks des eingebetteten FG Core.

Konstante Wert/Bedeutung
FG_MEDIA_AUDIT_VERSION 0.9.1
FG_MEDIA_AUDIT_DB_VERSION 2
FG_MEDIA_AUDIT_FILE Hauptdatei des Plugins
FG_MEDIA_AUDIT_DIR Plugin-Verzeichnis
FG_MEDIA_AUDIT_URL Plugin-URL

Die Aktivierung ruft FG_Media_Audit_Installer::activate() auf. Dabei werden die eigenen Tabellen über dbDelta() angelegt oder aktualisiert.

Der Plugin-Boot erfolgt auf:

add_action('init', 'fg_media_audit_boot', 20);

Alle AJAX-Endpunkte sind ausschließlich als wp_ajax_* registriert. Es existieren keine wp_ajax_nopriv_*-Varianten.

Zweck: Startet einen neuen Verwendungsscan.

Berechtigung: manage_options

Nonce: fg_media_audit_usage_scan, Request-Feld nonce

Zweck: Verarbeitet den nächsten Scan-Batch.

Parameter:

scan_id: string
nonce: string

Berechtigung: manage_options

Zweck: Lädt den aktuellen Zustand eines einzelnen Bild-Attachments für die Inline-Bearbeitung.

Parameter:

attachment_id: int
nonce: string

Nonce-Action: fg_media_audit_direct_edit

Zweck: Speichert eine verifizierte Inline-Änderung und legt bei tatsächlichen Änderungen einen History-Eintrag an.

Parameter:

attachment_id: int
fingerprint: string
title: string
alt: string
caption: string
description: string
filename: string
confirm_rename: "0" | "1"
nonce: string

Berechtigung: manage_options

Hook: admin_post_fg_media_audit_export

Zweck: Streamt CSV- oder JSON-Exporte.

Berechtigung: manage_options

Nonce-Action: fg_media_audit_export

Hook: admin_post_fg_media_audit_backup_download

Zweck: Lädt das JSON-Backup eines History-Eintrags herunter.

Berechtigung: manage_options

Nonce-Action: fg_media_audit_backup_download_{record_id}

FG Media Audit registriert keine eigenen REST-Routen und keine WP-CLI-Kommandos.

Das Composer-Script

Terminal window
composer fg-core:sync

führt tools/sync-fg-core.php aus und dient ausschließlich der Entwicklung beziehungsweise Synchronisierung des eingebetteten FG Core.

assets/admin.js und assets/admin.css werden über admin_enqueue_scripts nur auf der FG-Media-Audit-Adminseite geladen. Das Projekt enthält kein package.json; die ausgelieferten Admin-Assets benötigen im Repository keinen Node-/npm-Buildschritt.

Verwendungsindex mit unter anderem scan_id, attachment_id, object_id, post_type, usage_type, field_key, usage_count und scanned_at.

History-/Backup-Tabelle mit Batch-ID, Benutzer-IDs, Status, Zählwerten, backup_data sowie Rollback-Zeitpunkt.

Die folgenden Hooks stammen aus dem im Projekt eingebetteten FG Core 1.1.3. Wird durch ein anderes FUNCKGROUP-Plugin eine höhere kompatible FG-Core-Version ausgewählt, kann deren Verhalten maßgeblich sein.

Typ: Action

Parameter:

/** @var \Funckgroup\FGCore\AdminCore $core */
/** @var array<string,mixed> $runtime */
do_action('fg_core_loaded', $core, $runtime);

Zweck: Wird nach Auswahl und Boot der aktiven FG-Core-Runtime ausgelöst.

Typ: Filter

Standard: manage_options

add_filter('fg_core_parent_capability', static function (string $capability): string {
return 'manage_options';
});

Typ: Filter

Standard: dashicons-admin-generic

Typ: Filter

Standard: 58

Typ: Filter

Standard: true, sofern FG_CORE_STATUS_REPORTING nicht ausdrücklich false ist.

add_filter('fg_core_status_reporting_enabled', '__return_false');

Typ: Filter

Parameter: URL des Status-Endpunkts.

add_filter('fg_core_status_endpoint', static function (string $endpoint): string {
return $endpoint;
});

Typ: Filter

Parameter: Array des vollständigen Status-Payloads vor JSON-Encoding.

add_filter('fg_core_status_payload', static function (array $payload): array {
return $payload;
});

Bei Erweiterungen sollte vermieden werden, personenbezogene oder vertrauliche Daten in den Status-Payload aufzunehmen.

Typ: Action

Parameter: Status-Payload und WordPress-HTTP-Response.

Typ: Action

Parameter: Fehlermeldung und HTTP-Statuscode.