- Como Criar um Plugin WordPress com Composer e PSR-4 – WordPress Extremo Dia 1
- Como Usar Serviços em Plugins para Código Limpo e Desacoplado – WordPress Extremo Dia 2
- Como Usar Repositórios em Plugins para Separar Lógica de Dados – WordPress Extremo Dia 3
- Injeção de Dependência Manual em Plugins WordPress – WordPress Extremo Dia 4
- Hooks Avançados no WordPress: apply_filters, do_action e boas práticas
- Criando Comandos WP-CLI Personalizados para Plugins WordPress
- Como Gerenciar Logs e Erros Internos em Plugins WordPress (Do Jeito Certo)
- Tratamento de Erros e Uso Inteligente de Exceptions em Plugins WordPress
- Segurança Profunda em Plugins WordPress
- Internacionalização e Localização (i18n e l10n)
- Criando Settings Pages Profissionais no WordPress
- Permissões Customizadas e Controle de Acesso em Plugins WordPress
- Separação Clara de Camadas: Core, Domain e Infra
- Atualizações Automáticas via GitHub.
- Checklist Final de Publicação: WordPress.org e Produção
👋 Fala, devs! Aqui é o Asllan Maciel, e depois de uma jornada intensa construindo plugins WordPress com arquitetura limpa, blocos personalizados, segurança, internacionalização e até sistema de updates via GitHub… finalmente chegamos ao último passo: publicar com qualidade e consciência.
Esse post é um checklist prático e profissional que você deve seguir sempre que for lançar (ou atualizar) um plugin — seja no WordPress.org ou em produção própria.
💡 Se você perdeu algum dos posts anteriores, veja os últimos aqui:
Bora deixar seu plugin pronto pra dominar o mundo? 🚀
🧪 Checklist de Qualidade antes de Publicar
🔸 1. Testes Locais
Antes de tudo, simule um ambiente real:
- ✅ WordPress atualizado
- ✅ PHP na menor versão suportada (
7.4
,8.0
etc) - ✅ Permissões e diretórios com restrições realistas
- ✅ Ative o
WP_DEBUG
,WP_DEBUG_LOG
e verifique avisos ou warnings
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
🔸 2. Header do Plugin
Certifique-se de que o cabeçalho está completo:
/**
* Plugin Name: Nome do Plugin
* Description: Uma descrição clara e objetiva.
* Version: 1.2.3
* Author: Seu Nome
* Author URI: https://seusite.com
* Requires at least: 6.0
* Tested up to: 6.8
* Requires PHP: 7.4
* License: GPLv2 or later
*/
🔸 3. Estrutura do Plugin
A estrutura ideal para plugins robustos deve conter:
meu-plugin/
├── assets/
├── blocks/
├── inc/
├── src/
├── languages/
├── uninstall.php
├── readme.txt (WordPress.org)
├── meu-plugin.php
🌐 Publicando no WordPress.org
🔸 4. readme.txt
obrigatoriamente no padrão WordPress
Use o gerador oficial ou siga a estrutura:
=== Nome do Plugin ===
Contributors: seuuser
Tags: segurança, bloco, gutenberg
Requires at least: 6.0
Tested up to: 6.8.1
Stable tag: 1.2.3
License: GPLv2 or later
== Description ==
Uma descrição resumida para aparecer no diretório.
== Installation ==
Como instalar o plugin.
== Changelog ==
= 1.2.3 =
* Correções de bugs
* Melhorias de performance
🔸 5. Enviar o plugin compactado
- Gere um
.zip
com a pasta do plugin (sem aninhamento extra). - Vá até: https://wordpress.org/plugins/add/
- Siga o processo de submissão SVN após aprovação inicial.
- Você pode usar o SVN Desktop ou CLI via
svn
.
🔄 Subindo para Produção Externa (GitHub / Site Próprio)
🔸 6. Releases no GitHub
- Tagueie sua versão (
v1.2.3
) no Git - Crie uma release com changelog claro
- Anexe o
.zip
correto
✅ Isso permite que sistemas de update automático (como vimos no Dia 13/15) funcionem 100%.
🔸 7. Atualização Segura
Ao atualizar o plugin em sites clientes:
- Verifique dependências de PHP e WP
- Teste com
WP Rollback
se for via repositório - Adicione verificação de permissões no código
- Use
current_user_can()
enonce
nos formulários
🔒 8. Segurança Final
Garanta que seu plugin:
- ✅ Bloqueia acesso direto aos arquivos com
defined('ABSPATH')
- ✅ Escapa todas as saídas com
esc_html()
,esc_attr()
etc. - ✅ Valida e sanitiza os dados do usuário com
sanitize_text_field()
,intval()
etc. - ✅ Usa
wp_nonce_*()
em formulários e ações
✅ Finalizando com estilo
🎉 Parabéns! Se você chegou até aqui, seu plugin agora está arquitetado, seguro, testado, internacionalizado e pronto para o mundo.
Seja para vender, distribuir gratuitamente, ou usar internamente com qualidade — você está entregando profissionalismo!
📢 Compartilhe sua conquista!
- Marque @wp24horas ou @asllanmaciel nas redes
- Mostre o que você criou com #WP24Horas
- Link do projeto no Github (Em breve)