❗️ GRRR はこのプラグインを保守しなくなりました。
Simply Static プラグインの Pro プランを使用することをお勧めします。このプラグインを開始すると、Simply Static のデプロイメント機能の欠如が修正されました。それ以来、プラグインは更新され、Pro プランはまさに私たちが欠けていたものを提供します。
GRRR は Simply Static プラグインにコードと機能を提供しており、プラグインが成長するのを嬉しく思います。
投資する価値は十分にあるので、一度見てみることをお勧めします。
このプラグインに興味を持ってくださった皆様、ありがとうございます!
このプラグインの使用を楽しんでいる場合、または何らかの形でこのプラグインにインスピレーションを受けた場合は、おそらく私たちのブログ、grrr.tech をフォローしてみてください。ブログでは、私たちの仕事やその過程で学んだことについて書いています。
このプラグインには次のものが必要です。
このプラグインは Composer を使用してインストールする必要があります。
正しいインストーラーのパスがcomposer.json
に設定されていることを確認してください。これは、パッケージを要求する前に行う必要があります。
"extra" : {
"installer-paths" : {
"wp-content/plugins/{$name}/" : [ " type:wordpress-plugin " ]
}
}
Composer 経由でインストールします。
$ composer require grrr-amsterdam/simply-static-deploy
プロジェクトで Composer をまだ使用していない場合は、必ず Composer オートローダーを要求してください。適切な場所はwp-config.php
内です。
/** Sets up WordPress vars and included files. */
require_once ABSPATH . ' vendor/autoload.php ' ; # ‹— add this
require_once ABSPATH . ' wp-settings.php ' ;
まず、WordPress 設定でSIMPLY_STATIC_DEPLOY_CONFIG
を定義します。
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)
]);
次に、管理インターフェイスを介して Simply Static プラグインを設定します。正しく行うために最も重要な設定は次のとおりです。
Delivery Method
: Local Directory
に設定 (ファイルは S3 に同期されます。zip は機能しません)注意すべきその他の設定:
Additional URLs
: プラグインが見つけられない URL を追加します。Additional Files and Directories
: 追加のディレクトリを追加します (フロントエンド アセットなど)URLs to Exclude
: アップロード フォルダーなど (ただし、実行時にアップロードをオフロードする場合に限ります)すべてが正しく構成されている場合は、 Deploy
タブでGenerate & Deploy
をクリックします。
ページ/ポストには 1 つのデプロイ ボタンが付属しているため、1 つのページを生成してデプロイできます。「単一ページ/ポスト デプロイ ユーザー インターフェイス」を参照してください。
単一のポストまたはページのデプロイは、再帰オプションをチェックすることで再帰的に実行することもできます。シングル ページ/ポスト デプロイのユーザー インターフェイスのチェックボックスを参照してください。 「再帰」がチェックされている場合、現在のページ/投稿の URL を含むすべてのページ/投稿も生成され、デプロイされます。
プラグインに渡される設定とデータを変更するために利用可能なフィルター:
呼び出したり、実行したりできるアクションは次のとおりです。
「追加のファイルとディレクトリ」オプションからエントリを変更します。デフォルトでは、シンボリック リンクが確実に解決されるように、すべてのパスは一時的に realpath を介して絶対パスに解決されます。オプションからの未変更のファイルの配列が引数として渡されます。
add_filter ( ' simply_static_deploy_additional_files ' , function ( array $ files ) {
# Modify files, and possibly resolve paths with `realpath`.
return $ files ;
});
注: 静的サイトの生成中に、 additional_files
設定が更新されます。終了すると復元されます。
単一のデプロイを実行すると、単に静的な「追加ファイル」設定で指定されたファイルを含む、指定されたページ/投稿のみが生成されます。これらの追加ファイルは、 simply_static_deploy_single_additional_files
フィルターを使用して単一デプロイ用に変更できます。 2 つの引数を取ります。最初の引数はファイル名の配列で、2 番目の引数は単に静的オプションのインスタンスです。
[追加の URL] オプションからエントリを変更します。これは、Simply Static では見つからないページ (サイトマップにない、パスワードによって除外されている、 noindex
が含まれていないなど) を追加するのに便利です。オプションからの未変更の URL の配列が引数として渡されます。
add_filter ( ' simply_static_deploy_additional_urls ' , function ( array $ urls ) {
# Modify urls, for example by adding missing pages.
return $ urls ;
});
注: 静的サイトの生成中に、 additional_urls
設定が更新されます。終了すると復元されます。
このフィルターは、除外可能な URL 設定をカスタマイズするオプションを追加します。これは、たとえば URL に再帰的な親 URL が含まれている場合に除外を無視したい場合に便利です。
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 ;
});
プラグインから呼び出され、エラーを説明するWP_Error
オブジェクトを受け取ります。たとえば、選択したサービスでエラーをログに記録するなど、エラーの処理方法を決定できます。
add_action ( ' simply_static_deploy_error ' , function ( WP_Error $ error ) {
# Handle the error.
});
これは、すべての展開タスクが完了した後にトリガーされます。コールバック関数で取得する最初で唯一の引数は、Simply Static オプション インスタンスです。
add_action('simply_static_deploy_complete' , function (Simply_StaticOptions $options) {
// Finished static deploy job.
});
Simply Static が静的サイトの生成を完了したときに呼び出されます。これにより、生成されたファイルを展開する前に変更できます。静的サイト ディレクトリは引数として渡されます。
add_action ( ' simply_static_deploy_modify_generated_files ' , function (
string $ directory
) {
# Modify generated files, like renaming or moving them.
});
デプロイ イベントをスケジュールします。
引数:
hourly
、 twicedaily
、およびdaily
です。 cron_schedules を介して拡張できます。 do_action ( ' simply_static_deploy_schedule ' , ' 12:00 ' , ' daily ' );
注: WP-Cron を定期的に呼び出すことが重要です。これを行うには、デフォルトの WP-Cron メカニズムを無効にし、専用の cron ジョブを介した呼び出しに切り替えることができます。
デフォルトの WP-Cron (通常、ユーザーがページにアクセスしたときに呼び出されます) を無効にするには、WordPress 設定に次の内容を追加します。
define ( ' DISABLE_WP_CRON ' , true );
WordPres WP-Cron を呼び出す cron ジョブを作成します。デフォルトでは5 分ごとに設定するのが適切です。たとえば、Linux マシンでcrontab -e
使用すると、次のようになります。
*/5 * * * * curl https://example.com/wp/wp-cron.php?doing-cron > /dev/null 2>&1
Fatal error: Uncaught Error: Class 'GrrrSimplyStaticDeploySimplyStaticDeploy' not found
インストール手順を確認し、プロジェクトに Composer オートローダーを必要とします。