❗️ 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
누르십시오.
페이지/게시물에는 단일 배포 버튼이 제공되므로 단일 페이지를 생성하고 배포할 수 있습니다. 단일 페이지/포스트 배포 사용자 인터페이스를 참조하세요.
단일 게시 또는 페이지 배포는 재귀 옵션을 선택하여 재귀적으로 수행할 수도 있습니다. 단일 페이지/사후 배포 사용자 인터페이스의 확인란을 참조하세요. '재귀적'을 선택하면 현재 페이지/게시물의 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 '추가 파일' 설정에 지정된 파일을 포함하여 지정된 페이지/게시물만 생성됩니다. 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 옵션 인스턴스입니다.
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 오토로더가 필요합니다.