Skip to content

Entwicklerschnittstellen

FG Static Export besitzt zwei explizite Exportfilter sowie mehrere PHP-Funktionen und Konstanten. Es registriert keine eigenen REST-, AJAX- oder WP-CLI-Schnittstellen.

Typ: Filter

Der Filter läuft nach dem grundlegenden URL-Rewrite für jede exportierte Seite.

Parameter:

$html // string: bereits umgeschriebenes HTML
$context // array

$context enthält:

[
'path' => '/aktueller-pfad/',
'internal_url' => '...',
'target_url' => '...',
'site_url' => '...',
'home_url' => '...',
]

Beispiel:

add_filter('fg_static_export_html', function ($html, $context) {
return str_replace('data-runtime="wordpress"', 'data-runtime="static"', $html);
}, 10, 2);

Der Rückgabewert wird als String weiterverarbeitet und anschließend als statisches HTML gespeichert.

Typ: Filter

Ermöglicht anderen Plugins, nach den regulären Assets zusätzliche Dateien in das Export-Verzeichnis zu schreiben.

Parameter:

$files // array: zusätzliche Dateidefinitionen
$context // array

$context enthält:

[
'internal_url' => '...',
'target_url' => '...',
'export_dir' => '...',
]

Ein Dateieintrag kann so aussehen:

add_filter('fg_static_export_additional_files', function ($files, $context) {
$files[] = [
'path' => 'example.js',
'contents' => 'console.log("Static export integration");',
'source' => 'Example Plugin',
];
return $files;
}, 10, 2);

path muss ein sicherer relativer Pfad sein. PHP-, PHTML- und PHAR-Dateien sowie Directory Traversal werden abgelehnt. contents muss ein String sein. source ist optional und wird nur für die Log-Meldung verwendet.

Typ: Action

Dieser Hook startet den Export aus den gespeicherten Einstellungen, wenn Cron in den Deployment-Einstellungen aktiviert ist.

do_action('fg_static_export_cron_export');

Ein direkter Aufruf ist technisch möglich, die registrierte Callback-Funktion beendet sich jedoch sofort, wenn cron_enabled nicht aktiv ist.

FG Static Export erweitert den WordPress-Filter cron_schedules um weekly, falls dieses Intervall noch nicht vorhanden ist.

Die Singleton-Hilfsfunktion liefert eine FG_Static_Exporter-Instanz:

$exporter = fg_static_exporter_instance();

Die öffentliche Methode run_export() akzeptiert ein Array:

$exporter->run_export([
'internal_url' => site_url(),
'target_url' => 'https://www.example.com',
'export_dir' => ABSPATH . 'static-export',
'exclude_cpt' => ['example_type'],
'make_zip' => false,
'copy_htaccess' => true,
'clear_export_dir' => false,
]);

Wichtig: run_export() speichert die übergebenen Werte zugleich als persistente WordPress-Optionen. Die Methode ist daher nicht nur eine flüchtige Laufzeit-API.

run_export_from_saved_settings() startet denselben Prozess mit den bereits gespeicherten Exportwerten.

Das Hauptplugin definiert:

FG_STATIC_EXPORT_VERSION
FG_STATIC_EXPORT_PLUGIN_FILE
FG_STATIC_EXPORT_PLUGIN_PATH
FG_STATIC_EXPORT_PLUGIN_URL

In Version 5.5.4 entspricht FG_STATIC_EXPORT_VERSION dem Wert 5.5.4.

Die Deployment-Klasse liest folgende Konstanten, sofern sie definiert und nicht leer sind:

FG_STATIC_EXPORT_DEPLOY_PASSWORD
FG_STATIC_EXPORT_DEPLOY_SFTP_PASSWORD
FG_STATIC_EXPORT_DEPLOY_SFTP_PHPSECLIB_PASSWORD
FG_STATIC_EXPORT_DEPLOY_FTP_PASSWORD
FG_STATIC_EXPORT_DEPLOY_ZIP_REMOTE_PASSWORD

FG_STATIC_EXPORT_DEPLOY_PASSWORD wirkt auf das Passwortfeld der aktuell aktiven Methode, sofern dieses Profil ein Passwort besitzt.

Da FG Static Export FG Core 1.1.3 einbettet, sind für den technischen Statusbericht unter anderem folgende Steuerungsmöglichkeiten relevant:

define('FG_CORE_STATUS_REPORTING', false);

sowie die Filter:

fg_core_status_reporting_enabled
fg_core_status_endpoint
fg_core_status_payload

Weitere technische Angaben zum Payload stehen unter Datenverarbeitung.

fg_internal_url
fg_target_url
fg_export_dir
fg_exclude_cpt
fg_zip
fg_include_htaccess
fg_clear_export_dir
fg_static_export_last_export
fg_static_export_last_log
fg_static_export_deployment_settings
fg_static_export_last_deployment
fg_static_export_last_deploy_log

Der StatusReporter verwendet zusätzlich unter anderem:

fg_core_installation_id
fg_core_installation_token
fg_core_installation_home_url
fg_core_status_last_report
fg_core_status_last_error
fg_core_status_last_http_code

FG Static Export registriert im analysierten Code:

  • keine REST-Routen
  • keine wp_ajax_*-Handler
  • keine eigenen WP-CLI-Kommandos
  • keine öffentlichen JavaScript-Custom-Events

Das Inline-JavaScript der Admin-Seite bestätigt lediglich das Leeren des Export-Verzeichnisses.