Skip to content

Entwicklerschnittstellen

FG Cache WP stellt einige PHP-Funktionen, WordPress-Actions und Filter bereit. Interne Klassen werden hier nicht als stabile öffentliche API behandelt.

Leert den vollständigen FG-Page-Cache.

Rückgabe: Anzahl der gelöschten HTML-Cache-Dateien als int.

$deleted = fg_cache_purge_all();

Leert alle ermittelbaren Cache-Varianten einer einzelnen URL.

Parameter:

string $url

Rückgabe: Anzahl der gelöschten HTML-Cache-Dateien als int.

fg_cache_purge_url('https://example.com/beispiel/');

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();

Typ: Filter

Funktion: Letzte projektspezifische Entscheidung, ob eine bereits grundsätzlich cachefähige HTML-Antwort gespeichert werden soll.

Parameter:

bool $should_store
string $buffer
array $config

Beispiel:

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);

Typ: Filter

Funktion: Verändert die generierte frühe Runtime-Konfiguration vor dem Schreiben der PHP-Datei.

Parameter:

array $config
array $settings

Beispiel:

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.

Typ: Filter

Funktion: Erweitert oder verändert die URLs, die bei einer Inhaltsänderung gezielt invalidiert werden.

Parameter:

array $targets
int $post_id
WP_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);

Typ: Filter

Funktion: Verändert die finale URL-Liste des vollständigen Warmups.

Parameter:

array $urls

Beispiel:

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.

Typ: Filter

Funktion: Batch-Größe des manuellen Warmups.

Parameter:

int $batch_size

Standard 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);

Typ: Filter

Funktion: Batch-Größe des automatischen Warmups.

Parameter:

int $batch_size

Standard ist 3; auch dieser Wert wird auf 1 bis 10 begrenzt.

Typ: Filter

Funktion: Verändert die Argumente des HTTP-GET für eine einzelne Warmup-URL.

Parameter:

array $args
string $url

Beispiel:

add_filter('fg_cache_warmup_http_args', function (array $args, string $url): array {
$args['timeout'] = 15;
return $args;
}, 10, 2);

Typ: Filter

Funktion: Verändert die Argumente des nicht blockierenden Loopback-POSTs, mit dem der nächste automatische Worker gestartet wird.

Parameter:

array $args

Der Request muss weiterhin die Felder action=fg_cache_auto_warmup_worker und den gültigen token übertragen, damit der Worker akzeptiert wird.

Typ: Filter

Funktion: Verändert die WP_Query-Argumente für die Sammlung veröffentlichter Inhalte eines Post Types.

Parameter:

array $query_args
string $post_type

Typ: Filter

Funktion: Verändert die Argumente für get_terms() bei der Sammlung öffentlicher Term-Archive.

Parameter:

array $term_args
string $taxonomy

Typ: Action

Wird nach dem Boot von FG Cache ausgelöst.

Parameter:

FG_Cache_Plugin $plugin

Typ: Action

Wird nach einem vollständigen Purge ausgelöst.

Parameter:

int $deleted

$deleted ist die Anzahl gelöschter HTML-Cache-Dateien.

Typ: Action

Wird nach einer erfolgreichen gezielten Invalidierung ausgelöst, sofern mindestens eine HTML-Cache-Datei entfernt wurde.

Parameter:

int $deleted
array $exact_urls
array $archive_urls
array $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.

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

Die Einstellungs-, Purge-, Toolbar-Purge- und Reparaturaktionen verwenden manage_options und WordPress-Nonces.

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.