Skip to content

Erste Schritte

FG Core ist für die Einbettung in FUNCKGROUP-WordPress-Plugins vorgesehen. Die Runtime liegt im ausgelieferten Plugin unter includes/fg-core/; Composer oder ein GitHub-Zugriff werden auf der WordPress-Installation nicht benötigt.

  • WordPress 6.0 oder neuer laut Header des mitgelieferten Referenz-Plugins
  • PHP 7.4 oder neuer
  • lesbarer Ordner includes/fg-core/ im einbindenden Plugin
  • WordPress-Cron, wenn die automatische Installations-Statusmeldung planmäßig ausgeführt werden soll
  • ausgehende HTTPS-Verbindungen zum konfigurierten Status-Endpunkt, sofern die Statusmeldung aktiviert bleibt

Die Runtime muss im Plugin unter folgendem Pfad vorhanden sein:

mein-plugin/
└── includes/
└── fg-core/
├── bootstrap.php
├── manifest.php
├── assets/
└── src/

Die Plugin-Hauptdatei lädt zuerst den Core-Bootstrap:

$core_bootstrap = MY_PLUGIN_DIR . 'includes/fg-core/bootstrap.php';
if (is_readable($core_bootstrap)) {
require_once $core_bootstrap;
}

Die Fachlogik bleibt im Plugin. FG Core stellt keine automatische Klassenladung für das einbindende Plugin bereit.

Eine einzelne Admin-Seite kann über callback registriert werden:

fg_core_register_plugin([
'slug' => 'my-plugin',
'title' => 'My Plugin',
'menu_title' => 'My Plugin',
'description' => 'Beschreibung.',
'callback' => [$this, 'render_page'],
'version' => MY_PLUGIN_VERSION,
'plugin_file' => MY_PLUGIN_FILE,
]);

Für mehrere Bereiche wird tabs verwendet. Ein vollständiges Beispiel steht unter Admin-Integration.

Das Root-Paket ist als Composer-Library funckgroup/fg-core definiert. Für die Entwicklung kann FG Core als private Entwicklungsabhängigkeit installiert und danach in den festen Runtime-Pfad synchronisiert werden.

Beispiel aus dem Projekt:

Terminal window
composer require --dev funckgroup/fg-core:^1.1
composer fg-core:sync

Für spätere Updates:

Terminal window
composer update funckgroup/fg-core

Das mitgelieferte Sync-Skript sucht die Core-Quelle unter anderem in der Composer-Installation und kopiert sie nach includes/fg-core/. Alternativ kann FG_CORE_SOURCE auf einen lokalen Checkout zeigen.

Terminal window
FG_CORE_SOURCE=/pfad/zu/fg-core/includes/fg-core composer fg-core:sync

Weitere unterstützte Umgebungsvariablen des Sync-Skripts:

  • FG_CORE_PROJECT_ROOT – überschreibt das erkannte Projektverzeichnis
  • FG_CORE_TARGET – überschreibt das Zielverzeichnis
  • FG_CORE_SOURCE – priorisierte Quellstruktur für die Runtime
  1. WordPress-Admin öffnen.
  2. Prüfen, ob das Hauptmenü FUNCKGROUP erscheint.
  3. Prüfen, ob das registrierte Plugin als Untermenü und auf der Übersichtsseite erscheint.
  4. Bei mehreren Tabs prüfen, ob der konfigurierte Standard-Tab geöffnet wird.
  5. Prüfen, ob nur Benutzer mit der erforderlichen Capability Zugriff erhalten.
  6. Bei mehreren FUNCKGROUP-Plugins prüfen, welche FG-Core-Version als aktive Runtime angezeigt wird.
  7. Falls die Statusmeldung aktiviert ist, WP-Cron und die Erreichbarkeit des Status-Endpunkts prüfen.

Das Referenz-Plugin enthält einen Diagnose-Tab, der aktive Core-Version, API-Version, Provider, registrierte Plugins sowie WordPress- und PHP-Version anzeigt.

FG Core besitzt keinen eigenen Aktivierungs- oder Deaktivierungs-Hook. Die Runtime wird beim normalen Laden des einbindenden Plugins initialisiert.

Die Statusmeldung plant ihren Cronjob bei init, falls die Funktion aktiviert und noch kein entsprechendes Ereignis vorhanden ist.

uninstall.php des Referenz-Plugins löscht ausschließlich die Beispiel-Option:

fg_core_dummy_example_text

Die von der eingebetteten Statusmeldung angelegten fg_core_*-Optionen sowie ein eventuell geplanter Cronjob werden von dieser Deinstallationsroutine nicht entfernt. Dieser Punkt ist auch in der internen REVIEW.md vermerkt.