❗️ GRRR verwaltet dieses Plugin nicht mehr.
Wir empfehlen die Verwendung des Pro-Plans des Simply Static-Plugins. Als wir dieses Plugin starteten, wurde das Fehlen einer Bereitstellungsfunktion in Simply Static behoben. Seitdem wurde das Plugin aktualisiert und der Pro-Plan bietet genau das, was uns gefehlt hat.
GRRR hat Code und Funktionen zum Simply Static-Plugin beigesteuert und wir freuen uns, dass es wächst.
Wir empfehlen Ihnen, einen Blick darauf zu werfen, die Investition lohnt sich.
Vielen Dank an alle, die sich für dieses Plugin interessiert haben!
Wenn Ihnen die Verwendung dieses Plugins Spaß gemacht hat oder Sie in irgendeiner Weise davon inspiriert wurden, möchten Sie vielleicht unserem Blog folgen, in dem wir über unsere Arbeit und die Dinge, die wir dabei lernen, schreiben: grrr.tech.
Dieses Plugin erfordert:
Dieses Plugin muss mit Composer installiert werden.
Stellen Sie sicher, dass in Ihrer composer.json
die richtigen Installationspfade konfiguriert sind. Dies muss getan werden, bevor das Paket benötigt wird:
"extra" : {
"installer-paths" : {
"wp-content/plugins/{$name}/" : [ " type:wordpress-plugin " ]
}
}
Installation über Composer:
$ composer require grrr-amsterdam/simply-static-deploy
Wenn Sie Composer in Ihrem Projekt noch nicht verwenden, stellen Sie sicher, dass Sie den Composer-Autoloader benötigen. Ein guter Platz wäre in Ihrer wp-config.php
:
/** Sets up WordPress vars and included files. */
require_once ABSPATH . ' vendor/autoload.php ' ; # ‹— add this
require_once ABSPATH . ' wp-settings.php ' ;
Definieren Sie zunächst SIMPLY_STATIC_DEPLOY_CONFIG
in Ihrer WordPress-Konfiguration:
define ( ' SIMPLY_STATIC_DEPLOY_CONFIG ' , [
' aws ' => [
' key ' => ' ... ' , # AWS access key
' secret ' => ' ... ' , # AWS secret key
' region ' => ' ... ' , # AWS region
' bucket ' => ' ... ' , # S3 bucket
' bucket_acl ' => ' ... ' , # S3 bucket ACL (optional, defaults to `public-read`)
' distribution ' => ' ... ' , # CloudFront distribution ID (optional, step is skipped when empty)
' endpoint ' => ' ... ' , # For usage with providers other than AWS (optional)
],
' url ' => ' ... ' , # Website url (used for displaying url after deploy is finished)
]);
Anschließend konfigurieren Sie das Simply Static-Plugin über die Admin-Oberfläche. Die wichtigste Einstellung, um sie richtig zu machen, ist:
Delivery Method
: auf Local Directory
eingestellt (Dateien werden mit S3 synchronisiert, ZIP funktioniert nicht)Weitere Einstellungen, auf die Sie achten sollten:
Additional URLs
: Fügen Sie alle URLs hinzu, die das Plugin nicht finden kannAdditional Files and Directories
: Fügen Sie zusätzliche Verzeichnisse hinzu (z. B. Front-End-Assets).URLs to Exclude
: zum Beispiel der Uploads-Ordner (aber nur, wenn Sie Uploads zur Laufzeit auslagern) Wenn alles richtig konfiguriert ist, klicken Sie auf der Registerkarte Deploy
auf Generate & Deploy
.
Seiten/Beiträge verfügen über eine einzelne Bereitstellungsschaltfläche, sodass eine einzelne Seite generiert und bereitgestellt werden kann, siehe Benutzeroberfläche für die Bereitstellung einzelner Seiten/Beiträge.
Eine einzelne Beitrags- oder Seitenbereitstellung kann auch rekursiv erfolgen, indem die rekursive Option aktiviert wird (siehe Kontrollkästchen in der Benutzeroberfläche für die Bereitstellung einer einzelnen Seite/eines einzelnen Beitrags). Wenn „rekursiv“ aktiviert wurde, werden alle Seiten/Beiträge, die die URL der aktuellen Seite/des aktuellen Beitrags enthalten, ebenfalls generiert und bereitgestellt.
Verfügbare Filter zum Ändern der an das Plugin übergebenen Einstellungen und Daten:
Verfügbare Aktionen zum Aufrufen oder Handeln:
Ändern Sie die Einträge über die Option „Zusätzliche Dateien und Verzeichnisse“. Standardmäßig werden alle Pfade vorübergehend über realpath in absolute Pfade aufgelöst, um sicherzustellen, dass symbolische Links aufgelöst werden. Als Argument wird ein Array unveränderter Dateien aus den Optionen übergeben.
add_filter ( ' simply_static_deploy_additional_files ' , function ( array $ files ) {
# Modify files, and possibly resolve paths with `realpath`.
return $ files ;
});
Hinweis: Während der Generierung der statischen Site wird die Einstellung additional_files
aktualisiert. Es wird wiederhergestellt, wenn es fertig ist.
Bei einer einzelnen Bereitstellung wird nur die angegebene Seite/der angegebene Beitrag generiert, einschließlich der in der Simply Static-Einstellung „Zusätzliche Dateien“ angegebenen Dateien. Sie können diese zusätzlichen Dateien für einzelne Bereitstellungen über den Filter simply_static_deploy_single_additional_files
ändern. Es benötigt zwei Argumente: Das erste ist ein Array von Dateinamen, das zweite ist die Simply Static Options-Instanz.
Ändern Sie die Einträge über die Option „Zusätzliche URLs“. Dies kann nützlich sein, um Seiten hinzuzufügen, die von Simply Static nicht gefunden werden können (nicht in der Sitemap, durch ein Passwort ausgeschlossen, noindex
usw.). Als Argument wird ein Array unveränderter URLs aus den Optionen übergeben.
add_filter ( ' simply_static_deploy_additional_urls ' , function ( array $ urls ) {
# Modify urls, for example by adding missing pages.
return $ urls ;
});
Hinweis: Während der Generierung der statischen Site wird die Einstellung additional_urls
aktualisiert. Es wird wiederhergestellt, wenn es fertig ist.
Dieser Filter fügt die Option zum Anpassen der ausschließbaren URL-Einstellung hinzu. Dies kann nützlich sein, wenn Sie beispielsweise Ausschlüsse ignorieren möchten, wenn eine URL die rekursive übergeordnete URL enthält.
add_filter ( ' simply_static_deploy_recursive_excludable ' , function (
$ excludable ,
string $ staticPageUrl ,
string $ recursiveUrl
) {
# Modify excludable url logic, for example ignore excludeable url setting when current page contains the recursiveUrl
return $ excludable ;
});
Wird vom Plugin aufgerufen und empfängt ein WP_Error
Objekt, das den Fehler erklärt. Sie können entscheiden, wie mit dem Fehler umgegangen werden soll, indem Sie ihn beispielsweise bei einem Dienst Ihrer Wahl protokollieren.
add_action ( ' simply_static_deploy_error ' , function ( WP_Error $ error ) {
# Handle the error.
});
Dies wird ausgelöst, nachdem alle Bereitstellungsaufgaben abgeschlossen sind. Das erste und einzige Argument, das Sie in der Callback-Funktion erhalten, ist die Simply Static-Optionsinstanz.
add_action('simply_static_deploy_complete' , function (Simply_StaticOptions $options) {
// Finished static deploy job.
});
Wird aufgerufen, wenn Simply Static mit der Generierung der statischen Site fertig ist. Dadurch können Sie die generierten Dateien ändern, bevor sie bereitgestellt werden. Als Argument wird das statische Site-Verzeichnis übergeben.
add_action ( ' simply_static_deploy_modify_generated_files ' , function (
string $ directory
) {
# Modify generated files, like renaming or moving them.
});
Planen Sie ein Bereitstellungsereignis.
Argumente:
hourly
, twicedaily
und daily
. Kann über cron_schedules erweitert werden. do_action ( ' simply_static_deploy_schedule ' , ' 12:00 ' , ' daily ' );
Hinweis: Wichtig ist, dass WP-Cron regelmäßig aufgerufen wird. Sie könnten dies tun, indem Sie den standardmäßigen WP-Cron-Mechanismus deaktivieren und dazu wechseln, ihn über einen dedizierten Cronjob aufzurufen.
Um den Standard-WP-Cron (der normalerweise aufgerufen wird, wenn ein Benutzer Seiten besucht) zu deaktivieren, fügen Sie Folgendes zu Ihrer WordPress-Konfiguration hinzu:
define ( ' DISABLE_WP_CRON ' , true );
Erstellen Sie einen Cronjob mit dem Namen WordPres WP-Cron. Eine gute Standardeinstellung wäre die Einstellung alle 5 Minuten . Zum Beispiel über crontab -e
auf einem Linux-Rechner:
*/5 * * * * curl https://example.com/wp/wp-cron.php?doing-cron > /dev/null 2>&1
Fatal error: Uncaught Error: Class 'GrrrSimplyStaticDeploySimplyStaticDeploy' not found
Sehen Sie sich die Installationsanweisungen an und stellen Sie fest, dass der Composer-Autoloader in Ihrem Projekt enthalten sein muss.