❗️ GRRR não mantém mais este plugin.
Recomendamos usar o plano Pro do plugin Simply Static. Quando iniciamos este plugin, ele corrigiu a falta de um recurso de implantação no Simply Static. Desde então, o plugin foi atualizado e o plano Pro oferece exatamente o que faltava.
GRRR contribuiu com código e recursos para o plugin Simply Static e estamos felizes em vê-lo crescer.
Sugerimos dar uma olhada, vale muito a pena o investimento.
Obrigado a todos que se interessaram por este plugin!
Se você gostou de usar este plugin ou se inspirou nele de alguma forma, talvez queira seguir nosso blog, onde escrevemos sobre nosso trabalho e o que aprendemos ao longo do caminho: grrr.tech.
Este plug-in requer:
Este plugin precisa ser instalado usando o Composer.
Certifique-se de ter os caminhos de instalação corretos configurados em seu composer.json
. Isso deve ser feito antes de solicitar o pacote:
"extra" : {
"installer-paths" : {
"wp-content/plugins/{$name}/" : [ " type:wordpress-plugin " ]
}
}
Instale via Composer:
$ composer require grrr-amsterdam/simply-static-deploy
Se você ainda não estiver usando o Composer em seu projeto, certifique-se de exigir o autoloader do Composer. Um bom lugar seria no seu wp-config.php
:
/** Sets up WordPress vars and included files. */
require_once ABSPATH . ' vendor/autoload.php ' ; # ‹— add this
require_once ABSPATH . ' wp-settings.php ' ;
Primeiro defina SIMPLY_STATIC_DEPLOY_CONFIG
na configuração do 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)
]);
Em seguida, configure o plugin Simply Static por meio da interface administrativa. A configuração mais importante para acertar é:
Delivery Method
: definido como Local Directory
(os arquivos são sincronizados com S3, zip não funciona)Outras configurações às quais você deve prestar atenção:
Additional URLs
: adicione qualquer URL que o plugin não consiga encontrarAdditional Files and Directories
: adicione diretórios adicionais (por exemplo, ativos de front-end)URLs to Exclude
: por exemplo, a pasta de uploads (mas apenas quando você está descarregando uploads em tempo de execução) Se tudo estiver configurado corretamente, clique em Generate & Deploy
na guia Deploy
.
As páginas/postagens vêm com um único botão de implantação, para que uma única página possa ser gerada e implantada, consulte a interface do usuário de página única/pós-implantação.
Uma única postagem ou implantação de página também pode ser feita recursivamente marcando a opção recursiva, consulte a caixa de seleção na interface do usuário de página única/pós-implantação. Quando 'recursivo' for verificado, todas as páginas/postagens que contenham a URL da página/postagem atual serão geradas e implantadas também.
Filtros disponíveis para modificar configurações e dados passados ao plugin:
Ações disponíveis para invocar ou agir:
Modifique as entradas da opção ‘Arquivos e diretórios adicionais’. Por padrão, todos os caminhos são temporariamente resolvidos para caminhos absolutos via realpath, para garantir que os links simbólicos sejam resolvidos. Uma matriz de arquivos não modificados das opções é passada como argumento.
add_filter ( ' simply_static_deploy_additional_files ' , function ( array $ files ) {
# Modify files, and possibly resolve paths with `realpath`.
return $ files ;
});
Nota: durante a geração do site estático, a configuração additional_files
é atualizada. Ele será restaurado quando terminar.
Ao fazer uma única implantação, apenas a página/postagem fornecida será gerada, incluindo os arquivos fornecidos na configuração Simply Static 'Arquivos adicionais'. Você pode alterar esses arquivos adicionais para implantações únicas por meio do filtro simply_static_deploy_single_additional_files
. São necessários dois argumentos: o primeiro é uma matriz de nomes de arquivos, o segundo é a instância Simply Static Options.
Modifique as entradas da opção ‘URLs adicionais’. Isso pode ser útil para adicionar páginas que não podem ser encontradas pelo Simply Static (não estão no mapa do site, são excluídas por senha, possuem noindex
, etc...). Uma matriz de URLs não modificados das opções é passada como argumento.
add_filter ( ' simply_static_deploy_additional_urls ' , function ( array $ urls ) {
# Modify urls, for example by adding missing pages.
return $ urls ;
});
Nota: durante a geração do site estático, a configuração additional_urls
é atualizada. Ele será restaurado quando terminar.
Este filtro adiciona a opção de personalizar a configuração do URL excluível. Isso pode ser útil quando, por exemplo, você deseja ignorar exclusões quando um URL contém o URL pai recursivo.
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 ;
});
Chamado a partir do plugin e recebe um objeto WP_Error
explicando o erro. Você pode decidir como lidar com o erro, por exemplo, registrando-o em um serviço de sua escolha.
add_action ( ' simply_static_deploy_error ' , function ( WP_Error $ error ) {
# Handle the error.
});
Isso será acionado após a conclusão de todas as tarefas de implantação. O primeiro e único argumento que você obterá na função de retorno de chamada é a instância de opções Simply Static.
add_action('simply_static_deploy_complete' , function (Simply_StaticOptions $options) {
// Finished static deploy job.
});
Chamado quando o Simply Static termina de gerar o site estático. Isso permite que você modifique os arquivos gerados antes de serem implantados. O diretório estático do site é passado como argumento.
add_action ( ' simply_static_deploy_modify_generated_files ' , function (
string $ directory
) {
# Modify generated files, like renaming or moving them.
});
Agende um evento de implantação.
Argumentos:
hourly
, twicedaily
e daily
. Pode ser estendido via cron_schedules. do_action ( ' simply_static_deploy_schedule ' , ' 12:00 ' , ' daily ' );
Nota: é importante que o WP-Cron seja chamado regularmente. Você poderia fazer isso desabilitando o mecanismo WP-Cron padrão e passando a chamá-lo por meio de um cronjob dedicado.
Para desabilitar o WP – Cron padrão (que normalmente é chamado quando um usuário visita páginas), adicione o seguinte à configuração do WordPress:
define ( ' DISABLE_WP_CRON ' , true );
Crie um cronjob chamando o WordPres WP-Cron. Configurá-lo para cada 5 minutos seria um bom padrão. Por exemplo, via crontab -e
em uma máquina Linux:
*/5 * * * * curl https://example.com/wp/wp-cron.php?doing-cron > /dev/null 2>&1
Fatal error: Uncaught Error: Class 'GrrrSimplyStaticDeploySimplyStaticDeploy' not found
Verifique as instruções de instalação e solicite o autoloader Composer em seu projeto.