❗️GRRR больше не поддерживает этот плагин.
Мы рекомендуем использовать план Pro плагина Simply Static. Когда мы запустили этот плагин, он исправил отсутствие функции развертывания в 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 ' ;
Сначала определите SIMPLY_STATIC_DEPLOY_CONFIG
в конфигурации WordPress:
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
: например, папка загрузок (но только если вы выгружаете загрузки во время выполнения) Если все настроено правильно, нажмите Generate & Deploy
на вкладке Deploy
.
Страницы/публикации поставляются с одной кнопкой развертывания, поэтому можно создать и развернуть одну страницу, см. пользовательский интерфейс развертывания одной страницы/публикации.
Развертывание одной публикации или страницы также можно выполнить рекурсивно, установив флажок рекурсивный, см. флажок в пользовательском интерфейсе развертывания одной страницы/поста. Если установлен флажок «рекурсивный», все страницы/сообщения, содержащие URL-адрес текущей страницы/сообщения, также будут созданы и развернуты.
Доступные фильтры для изменения настроек и данных, передаваемых в плагин:
Доступные действия для вызова или действия:
Измените записи из опции «Дополнительные файлы и каталоги». По умолчанию все пути временно преобразуются в абсолютные пути через реальный путь, чтобы обеспечить разрешение символических ссылок. В качестве аргумента передается массив неизмененных файлов из опций.
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 по умолчанию и переключившись на его вызов с помощью специального задания cron.
Чтобы отключить WP-Cron по умолчанию (который обычно вызывается, когда пользователь посещает страницы), добавьте в свою конфигурацию WordPress следующее:
define ( ' DISABLE_WP_CRON ' , true );
Создайте задание cron, вызвав WordPres WP-Cron. Установка каждые 5 минут будет хорошим вариантом по умолчанию. Например, через crontab -e
на машине с Linux:
*/5 * * * * curl https://example.com/wp/wp-cron.php?doing-cron > /dev/null 2>&1
Fatal error: Uncaught Error: Class 'GrrrSimplyStaticDeploySimplyStaticDeploy' not found
Ознакомьтесь с инструкциями по установке и включите в свой проект автозагрузчик Composer.