❗️ GRRR 不再維護這個外掛。
我們建議使用 Simply Static 插件的 Pro 計劃。當我們啟動這個插件時,它修復了 Simply Static 中缺少部署功能的問題。從那時起,該插件已經更新,專業計劃提供了我們所缺少的東西。
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
:新增外掛程式無法找到的任何 URLAdditional Files and Directories
:新增附加目錄(例如前端資產)URLs to Exclude
:例如上傳資料夾(但僅當您在執行時卸載上傳時)如果一切配置正確,請點選Deploy
中的Generate & Deploy
頁面/貼文帶有單一部署按鈕,以便可以產生和部署單一頁面,請參閱單一頁面/部署後使用者介面。
也可以透過選取遞歸選項來遞歸地完成單一貼文或頁面部署,請參閱單一頁面/貼文部署使用者介面中的核取方塊。當選取「遞歸」時,所有包含目前頁面/貼文 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
過濾器來變更單一部署的這些附加檔案。它有兩個參數:第一個是檔案名稱數組,第二個是 Simply Static Options 實例。
修改「其他 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 options 實例。
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 機制並切換到透過專用 cronjob 呼叫它來實現此目的。
若要停用預設的 WP–Cron(通常在使用者造訪頁面時呼叫),請將以下內容新增至您的 WordPress 配置:
define ( ' DISABLE_WP_CRON ' , true );
建立一個呼叫 WordPres WP-Cron 的 cronjob。將其設為每 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 自動載入器。