0
8

SHARE

Como Criar um Plugin Profissional com Composer e PSR-4

Como Criar um Plugin Profissional com Composer e PSR-4

Aprenda a estruturar um plugin profissional para WordPress usando Composer e PSR-4, com organização modular e boas práticas. Dia 1 da trilha WordPress Extremo.

Bora começar a Criar um Plugin Profissional de verdade? Aqui começa a virada de chave.

E aí, dev! Aqui é o Asllan, e hoje a gente dá o primeiro passo na jornada WordPress Extremo — que vai te levar do desenvolvimento intermediário àquele nível onde você realmente domina o WordPress como plataforma de engenharia, e não só como CMS.

A parada aqui é sair do functions.php, parar de empilhar função solta e começar a pensar como arquiteto de software.

Hoje vamos montar a estrutura base de um plugin desacoplado*, profissional, usando duas ferramentas poderosas do mundo PHP:

* Desacoplado (ou “desacoplamento”) é uma forma elegante de dizer que as partes do seu código não dependem diretamente umas das outras.


🧰 Antes de tudo: o que você precisa

Pra seguir comigo hoje, você precisa de um ambiente de desenvolvimento local já rodando WordPress.

Se você ainda não tem, pode usar:

E claro, é bom já ter uma noção básica de PHP, WordPress e saber onde fica o wp-content/plugins.


🛠️ O que vamos fazer hoje?

Hoje a gente vai criar um plugin do zero, mas não daquele jeito velho de juntar funções num arquivo só.

Vamos criar uma estrutura organizada, modular, com Composer e PSR-4.

Mas calma… que raios são Composer e PSR-4?

📦 Composer: o que é e por que usar?

O Composer é um gerenciador de dependências para PHP, tipo o “npm” do mundo PHP.

Mas além disso, ele cuida de carregar suas classes automaticamente sem você precisar escrever require_once toda hora.

Com ele, você escreve sua estrutura como um profissional e deixa o Composer se virar com o resto.

🧠 PSR-4: o que significa?

PSR-4 é um padrão de autoloading definido pela comunidade PHP (PHP-FIG). Ele diz assim:

“Se sua classe se chama Wp24h\Services\MinhaClasse, ela precisa estar na pasta src/Services/MinhaClasse.php.”

Ou seja, ele liga o namespace da sua classe com o caminho do arquivo — e o Composer entende isso e carrega tudo pra você.
Nada de require_once. Tudo limpo, automático e profissional.


🚀 Mão na massa: Criando nosso Plugin Desacoplado

1. Crie a pasta do plugin

Primeiramente, no seu wp-content/plugins, crie uma pasta:

wp-arquitetura-extrema/

2. Inicie o Composer

Navegue até essa pasta no terminal e execute:

composer init

Pode aceitar os padrões sugeridos, mas na parte do autoload a gente vai mexer manualmente.


3. Configure o autoload PSR-4

No composer.json, adicione isso:

"autoload": {
  "psr-4": {
    "WpArquiteturaExtrema\\": "src/"
  }
}

Isso quer dizer: “Composer, toda vez que eu chamar uma classe que começa com WpArquiteturaExtrema\, procure dentro da pasta src/”.

Depois disso, rode:

composer dump-autoload

Pronto! Agora qualquer classe que você criar com esse namespace e dentro da pasta src vai ser automaticamente carregada.


4. Estrutura do plugin

Desse modo, vamos organizar o plugin assim:

wp-arquitetura-extrema/
├── composer.json
├── vendor/
├── wp-arquitetura-extrema.php
└── src/
    ├── Hooks/
    │   └── Init.php
    ├── Services/
    └── Repositories/

Essa estrutura vai crescer muito ainda — mas hoje a gente vai só ativar um hook básico desacoplado.


5. Criando nosso Primeiro hHook com Classe

src/Hooks/Init.php

<?php
namespace WpArquiteturaExtrema\Hooks;

class Init {
    public function register() {
        add_action('init', [$this, 'say_hello']);
    }

    public function say_hello() {
        error_log('WordPress Arquitetura Extrema iniciada!');
    }
}

6. Arquivo principal do plugin

wp-arquitetura-extrema.php

<?php
/**
 * Plugin Name: WP Arquitetura Extrema
 * Description: Plugin com arquitetura organizada seguindo boas práticas
 * Version: 1.0.0
 * Author: Asllan Maciel
 * License: GPL2
 */

defined('ABSPATH') or die('No script kiddies please!');

if (file_exists(__DIR__ . '/vendor/autoload.php')) {
    require_once __DIR__ . '/vendor/autoload.php';
}

use WpArquiteturaExtrema\Hooks\Init;

(new Init())->register();

defined('ABSPATH') or die(...); é uma proteção simples e eficaz pra garantir que seus arquivos PHP só rodem dentro do WordPress — e nunca diretamente pelo navegador.


7. Ativando o debug para testar

No seu wp-config.php, ative:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Depois de ativar o plugin, veja se aparece no arquivo wp-content/debug.log:

WordPress Arquitetura Extrema iniciada!

Se sim, tudo funcionou! 🎉


📚 O que aprendemos hoje

  • Como criar a estrutura de um plugin desacoplado
  • O que são Composer e PSR-4, e como usar no WordPress
  • Como organizar seu código com padrão profissional
  • Como acionar hooks com classes ao invés de funções soltas

🧭 E agora?

Esse é só o começo. No Dia 2, a gente vai criar classes de serviço e delegar funções, seguindo princípios de Clean Code e separação de responsabilidades.


💬 Bora trocar ideia?

Ficou com dúvida sobre Composer, PSR-4 ou estrutura de plugin?

Comenta aí ou me chama nas redes:
👉 @wp24horas


🎓 Quer se aprofundar mesmo?

Se você quiser acelerar sua evolução, temos:

  • Mentoria Técnicas Personalizadas
  • Cursos voltados para WordPress Profissional
  • Acompanhamento para Criar Produtos e Serviços com WP

👉 Em breve aqui no wp24horas.com.br

Não perca mais nenhuma atualização aqui!

Ative as Notificações!

Clique aqui e, em seguida, clique em Permitir na caixa que aparecerá na parte superior da janela, próximo à barra de endereços.

Torne-se um Assinante e Eleve seu Conhecimento do WordPress!

Acesso Exclusivo, Suporte Especializado e Muito Mais.

Se você está aproveitando nosso conteúdo gratuito, vai adorar os benefícios exclusivos que oferecemos aos nossos assinantes! Ao se tornar um assinante do WP24Horas, você terá acesso a:

Não perca a oportunidade de maximizar seu potencial no WordPress. Clique no botão abaixo para se tornar um assinante e leve suas habilidades ao próximo nível!

Não perca mais nenhuma atualização aqui!

Tabela de Conteúdo
PUBLICIDADE
Últimos Posts
Aprimoramento de Performance no WordPress: Otimização de Scripts e CSS

Aprimoramento de Performance no WordPress: Otimização de Scripts e CSS

Como Criar e Estruturar Child Themes Profissionais no WordPress

Como Criar e Estruturar Child Themes Profissionais no WordPress

Como Estilizar Temas WordPress com CSS Avançado e Sass

Como Estilizar Temas WordPress com CSS Avançado e Sass

Como Criar Templates Personalizados no WordPress

Como Criar um Tema WordPress Simples do Zero

Como Criar um Tema WordPress Simples do Zero

Anatomia de um Tema Avançado no WordPress

Anatomia de um Tema Avançado no WordPress

Você precisa estar logado para ver esta informação.

Torne-se um Assinante e Eleve seu Conhecimento do WordPress!

Acesso Exclusivo, Suporte Especializado e Muito Mais.

Se você está aproveitando nosso conteúdo gratuito, vai adorar os benefícios exclusivos que oferecemos aos nossos assinantes! 

Não perca a oportunidade de maximizar seu potencial no WordPress. Clique no botão abaixo para se tornar um assinante e leve suas habilidades ao próximo nível!