Como Criar Plugins para WordPress — Parte 1

Neste guia, irei ensinar alguns dos princípios básicos do desenvolvimento de plugins para WordPress. Abordaremos, inicialmente, o conceito e algumas dicas que serão úteis para o processo de construção dos seus plugins. Em seguida, partiremos para um pequeno exemplo prático, fazendo uso de algumas funções básicas que poderão ser utilizadas como base para seus estudos. Logo, este guia será dividido em duas partes e é MUITO importante que você leia este documento seguindo sua ordem. Bem, vamos lá!

Começando pelo Começo…

Então você começou a utilizar WordPress e descobriu a mão na roda que este CMS pode ser. Viu que algumas funções básicas que praticamente TODO projeto possui podem ser desenvolvidas de uma maneira simples, rápida e elegante, fazendo uso de funções nativas do WordPress ou através da instalação de plugins. Talvez você já faça uso deste CMS há um tempo, e simplesmente esteja curioso para saber como os plugins funcionam.

Enfim, sejam quais forem as suas motivações para aprender a desenvolver plugins, existem duas coisas que você deve saber:

  • Praticamente qualquer código que você esteja utilizando em seu projeto pode ser transformado num plugin.
  • Construir um plugin não é um bicho de sete cabeças, como muitas pessoas acreditam. Pode ser até uma tarefa bem fácil, dependendo do tipo de plugin que você está desenvolvendo e do seu nível de conhecimento nas tecnologias envolvidas nesse processo.

Como provavelmente você já deve saber, o WordPress é uma plataforma desenvolvida em PHP, que por sua vez é uma linguagem server-side que normalmente é utilizada em conjunto com outras linguagens de programação e marcação como JavaScript, HTML e CSS. Não é o meu objetivo aqui te ensinar a programar em PHP e vou considerar que você já possui um certo conhecimento nessas outras linguagens. Ou seja, não irei interromper o guia para explicar o que é uma função, como funciona a passagem de parâmetros, como se declara uma variável em PHP ou o que é um operador ternário. Se você não sabe PHP, recomendo que estude essa linguagem antes de prosseguir com este guia.

A Documentação é Sua Amiga

Uma coisa que você deve ter em mente é que qualquer função utilizada pelo CMS pode ser encontrada em sua documentação. O WordPress possui uma das documentações mais vastas e bem elaboradas da internet. Deste modo, sempre que você precisar fazer uso de alguma funcionalidade do CMS ou tiver qualquer dúvida, ACESSE a documentação e procure. Além de ajudar, esta também é uma boa prática, pois evita que você faça uso de códigos depreciados, já que a documentação sempre é atualizada regularmente.

Você pode acessar a documentação clicando aqui.

Entenda a Estrutura do WordPress

Como dito no tópico anterior, a documentação reúne praticamente tudo sobre o WordPress. E uma das coisas que você precisa entender bem antes de desenvolver um plugin (na verdade, antes de desenvolver o que quer que seja) é como o WordPress funciona.

Irei resumir, bem por alto, a organização de arquivos do WordPress. Caso tenha qualquer dúvida, faça uso da documentação. Sem medo, não machuca :)

No root do WordPress, temos três pastas: wp-admin, wp-content e wp-includes. No momento, a pasta que nos interessa é a wp-content. Dentro dela, temos uma pasta chamada plugins. É dentro dessa pasta que deixaremos os arquivos referentes ao nosso plugin.

Dentro deste diretório já é possível fazer uso dos hooks (filters e actions) da API do WordPress. Irei explicar mais pra frente como isso funciona, mas o que você precisa saber por enquanto é que faremos uso constante dessas funções durante o processo de desenvolvimento e que tudo relativo a elas pode ser encontrado neste link.

O Que é Necessário para Começar a Construir um Plugin

Em primeiro lugar, obviamente, você precisa de uma instalação do WordPress funcionando. Sei que essa ressalva pode parecer algo desnecessário, mas com base em experiências que já tive com outros profissionais do ramo (sim, acreditem, eu não estou brincando) acho válido sinalizar isso aqui. Não importa qual projeto você está desenvolvendo, se é um site já em atividade, ou uma ideia que você resolveu colocar em prática começando do zero, aconselho que opte por desenvolver em localhost.

No caso de projetos que já estão em atividade, faça um clone do banco de dados, dos arquivos e os instale na sua máquina. Evite desenvolver qualquer coisa direto no servidor. Isso facilita o seu trabalho de várias maneiras, como: não se preocupar com a integridade dos dados que você está manipulando durante os diversos testes que serão feitos ao longo do projeto; o tempo de resposta da sua aplicação será invariavelmente mais rápido (além de fazer com que você não dependa de um serviço de internet para desenvolver); você terá total controle sobre as configurações do seu servidor local (dependendo da hospedagem, pode ser que uma solicitação simples, como uma mera alteração na permissão de escrita de arquivos, se torne uma dor de cabeça catastrófica).

Para projetos que você está desenvolvendo do zero, recomendo que seja o mais objetivo possível quanto ao ambiente no qual você vai desenvolver. Faça uma instalação clean do WordPress, certificando-se sempre de baixar a última versão, presente em WordPress.org. E, caso haja necessidade, use conteúdo falso para popular o banco. Não se preocupe com firulas, foque na função que você quer desenvolver e se certifique de que ela será aplicada em testes que simulam as mais diferentes situações.

Depois de desenvolver e testar sua aplicação, então faça o upload para sua hospedagem e teste-a novamente. Pode ser que você encontre um problema ou outro, e é nessa etapa que você vai basicamente focar em corrigir bugs ou otimizar seu código.

Aconselho também que você trabalhe com controle de versão, pois isso evita muitos problemas na hora de corrigir ou acrescentar funcionalidades ao seu plugin.

Os métodos que estou ensinando não são uma regra, mas costumam evitar atrasos no desenvolvimento do projeto, certos erros e agilizam sua produtividade. Você os segue se quiser, tudo que posso garantir é que já negligenciei uma etapa ou outra e acabei lidando com estresses desnecessários que poderiam ter sido evitados. Faço uso desses métodos há um tempo e, pra mim, tem sido bastante útil. Mas isso é uma escolha pessoal, não vou ficar aqui falando o que está certo ou o que está errado, desde que você se garanta em entregar um trabalho de qualidade.

O Nosso Plugin

Finalmente, chegou a hora de falarmos sobre o plugin que iremos desenvolver na segunda parte deste guia. Vamos criar um plugin que lista taxonomias e gera shortcodes que aceitam a passagem de parâmetros para gerar a listagem. Algo bem simples, como já falei anteriormente, mas bem útil e que servirá como base para você entender o funcionamento de um plugin :)

Vamos lá? Mão na massa!

Continue para a Parte 2

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.