Entwicklerschnittstellen
FG Cache WP stellt einige PHP-Funktionen, WordPress-Actions und Filter bereit. Interne Klassen werden hier nicht als stabile öffentliche API behandelt.
PHP-Funktionen
Section titled “PHP-Funktionen”fg_cache_purge_all()
Section titled “fg_cache_purge_all()”Leert den vollständigen FG-Page-Cache.
Rückgabe: Anzahl der gelöschten HTML-Cache-Dateien als int.
$deleted = fg_cache_purge_all();fg_cache_purge_url()
Section titled “fg_cache_purge_url()”Leert alle ermittelbaren Cache-Varianten einer einzelnen URL.
Parameter:
string $urlRückgabe: Anzahl der gelöschten HTML-Cache-Dateien als int.
fg_cache_purge_url('https://example.com/beispiel/');fg_cache_refresh_runtime_config()
Section titled “fg_cache_refresh_runtime_config()”Schreibt wp-content/cache/fg-cache/runtime-config.php anhand der aktuellen Einstellungen und Kompatibilitätslogik neu.
Rückgabe: true bei erfolgreichem Schreiben, sonst false.
fg_cache_refresh_runtime_config();Filter
Section titled “Filter”fg_cache_should_store_response
Section titled “fg_cache_should_store_response”Typ: Filter
Funktion: Letzte projektspezifische Entscheidung, ob eine bereits grundsätzlich cachefähige HTML-Antwort gespeichert werden soll.
Parameter:
bool $should_storestring $bufferarray $configBeispiel:
add_filter('fg_cache_should_store_response', function (bool $should_store, string $html, array $config): bool { if (str_contains($html, 'data-no-page-cache')) { return false; }
return $should_store;}, 10, 3);fg_cache_runtime_config
Section titled “fg_cache_runtime_config”Typ: Filter
Funktion: Verändert die generierte frühe Runtime-Konfiguration vor dem Schreiben der PHP-Datei.
Parameter:
array $configarray $settingsBeispiel:
add_filter('fg_cache_runtime_config', function (array $config, array $settings): array { $config['excluded_paths'][] = '/projekt-intern/*'; $config['excluded_paths'] = array_values(array_unique($config['excluded_paths'])); return $config;}, 10, 2);Nach Änderungen, die außerhalb eines normalen Einstellungs-Speichervorgangs erfolgen, kann fg_cache_refresh_runtime_config() verwendet werden.
fg_cache_post_invalidation_targets
Section titled “fg_cache_post_invalidation_targets”Typ: Filter
Funktion: Erweitert oder verändert die URLs, die bei einer Inhaltsänderung gezielt invalidiert werden.
Parameter:
array $targetsint $post_idWP_Post $post$targets besitzt die Schlüssel exact und archives.
Beispiel:
add_filter('fg_cache_post_invalidation_targets', function (array $targets, int $post_id, WP_Post $post): array { $targets['exact'][] = home_url('/sonderseite/'); return $targets;}, 10, 3);fg_cache_warmup_urls
Section titled “fg_cache_warmup_urls”Typ: Filter
Funktion: Verändert die finale URL-Liste des vollständigen Warmups.
Parameter:
array $urlsBeispiel:
add_filter('fg_cache_warmup_urls', function (array $urls): array { $urls[] = add_query_arg('layout', 'grid', home_url('/archiv/')); return $urls;});Externe Hosts werden nach dem Filter wieder entfernt. Nur Hosts aus home_url() und site_url() bleiben zulässig.
fg_cache_warmup_batch_size
Section titled “fg_cache_warmup_batch_size”Typ: Filter
Funktion: Batch-Größe des manuellen Warmups.
Parameter:
int $batch_sizeStandard ist 3; der Code begrenzt den endgültigen Wert auf 1 bis 10.
add_filter('fg_cache_warmup_batch_size', static fn (int $size): int => 5);fg_cache_auto_warmup_batch_size
Section titled “fg_cache_auto_warmup_batch_size”Typ: Filter
Funktion: Batch-Größe des automatischen Warmups.
Parameter:
int $batch_sizeStandard ist 3; auch dieser Wert wird auf 1 bis 10 begrenzt.
fg_cache_warmup_http_args
Section titled “fg_cache_warmup_http_args”Typ: Filter
Funktion: Verändert die Argumente des HTTP-GET für eine einzelne Warmup-URL.
Parameter:
array $argsstring $urlBeispiel:
add_filter('fg_cache_warmup_http_args', function (array $args, string $url): array { $args['timeout'] = 15; return $args;}, 10, 2);fg_cache_auto_warmup_http_args
Section titled “fg_cache_auto_warmup_http_args”Typ: Filter
Funktion: Verändert die Argumente des nicht blockierenden Loopback-POSTs, mit dem der nächste automatische Worker gestartet wird.
Parameter:
array $argsDer Request muss weiterhin die Felder action=fg_cache_auto_warmup_worker und den gültigen token übertragen, damit der Worker akzeptiert wird.
fg_cache_warmup_post_query_args
Section titled “fg_cache_warmup_post_query_args”Typ: Filter
Funktion: Verändert die WP_Query-Argumente für die Sammlung veröffentlichter Inhalte eines Post Types.
Parameter:
array $query_argsstring $post_typefg_cache_warmup_term_query_args
Section titled “fg_cache_warmup_term_query_args”Typ: Filter
Funktion: Verändert die Argumente für get_terms() bei der Sammlung öffentlicher Term-Archive.
Parameter:
array $term_argsstring $taxonomyActions
Section titled “Actions”fg_cache_loaded
Section titled “fg_cache_loaded”Typ: Action
Wird nach dem Boot von FG Cache ausgelöst.
Parameter:
FG_Cache_Plugin $pluginfg_cache_purged
Section titled “fg_cache_purged”Typ: Action
Wird nach einem vollständigen Purge ausgelöst.
Parameter:
int $deleted$deleted ist die Anzahl gelöschter HTML-Cache-Dateien.
fg_cache_urls_purged
Section titled “fg_cache_urls_purged”Typ: Action
Wird nach einer erfolgreichen gezielten Invalidierung ausgelöst, sofern mindestens eine HTML-Cache-Datei entfernt wurde.
Parameter:
int $deletedarray $exact_urlsarray $archive_urlsarray $deleted_urls$deleted_urls enthält die tatsächlich aus Metadaten beziehungsweise Fallbacks rekonstruierten URLs der entfernten Cache-Dateien und wird vom automatischen Warmup verwendet.
AJAX-Endpunkte
Section titled “AJAX-Endpunkte”FG Cache WP registriert keine REST-Endpunkte und keine WP-CLI-Kommandos. Es verwendet folgende WordPress-AJAX-Aktionen:
| Action | Zugriff | Schutz | Zweck |
|---|---|---|---|
fg_cache_warmup_prepare |
eingeloggte Benutzer | manage_options + Nonce fg_cache_warmup |
URL-Liste für manuellen Warmup vorbereiten |
fg_cache_warmup_batch |
eingeloggte Benutzer | manage_options + Nonce fg_cache_warmup |
nächsten manuellen Batch verarbeiten |
fg_cache_auto_warmup_worker |
eingeloggt und nicht eingeloggt registriert | zufälliger aktiver Token, dessen Hash serverseitig gespeichert ist | automatischen Warmup-Batch verarbeiten |
Admin-Post-Aktionen
Section titled “Admin-Post-Aktionen”Die Einstellungs-, Purge-, Toolbar-Purge- und Reparaturaktionen verwenden manage_options und WordPress-Nonces.
FG-Core-Statusreporting
Section titled “FG-Core-Statusreporting”Der eingebettete FG Core besitzt zusätzliche Filter für den gemeinsamen StatusReporter. Für den Betrieb von FG Cache sind insbesondere relevant:
add_filter('fg_core_status_reporting_enabled', '__return_false');add_filter('fg_core_status_endpoint', function (string $endpoint): string { return $endpoint;});add_filter('fg_core_status_payload', function (array $payload): array { return $payload;});Alternativ kann das Reporting über die Konstante deaktiviert werden:
define('FG_CORE_STATUS_REPORTING', false);Der Standard-Endpunkt kann außerdem über die Konstante FG_CORE_STATUS_ENDPOINT ersetzt werden. Nach einem erfolgreichen Bericht wird fg_core_status_report_sent mit Payload und HTTP-Response ausgelöst; bei einem Fehler wird fg_core_status_report_failed mit Fehlermeldung und HTTP-Statuscode ausgelöst.
Weitere Details stehen unter Datenverarbeitung.