Onde coloco os malditos códigos que tem neste site no meu WordPress?

Bom, não apenas os códigos deste site, mas os que estão na documentação do WordPress, em sites de snippets e muitos outros lugares.

Recebo sempre perguntas sobre isso e a resposta é simples:

Em qualquer lugar que você quiser! Sim, ele é teu e você faz o que achar melhor com ele!

Por isso que eu e outras pessoas não falamos onde colocar o maldito código, simplesmente porque é da escolha de quem esta aplicando ele.

Entretanto existe 3 lugares que são, o que podemos dizer de “mais corretos” de se colocarem e irei explicar o “por quê”.

Dentro do functions.php do seu tema

De forma alguma é o meu lugar favorito, entretanto funciona…

Eu não gosto, pois se for atualizar o tema, todo o trabalho será perdido, além que boa parte dos códigos provavelmente sejam necessários no site até mesmo depois de trocar o tema, como por exemplo um código para deixar o PAC dos Correios gratuito utilizando o WooCommerce.

Então trocou de tema e ai como que fica? Perdeu? Trocou de tema e vai parar de dar frete grátis para pagar o tema?

Dentro do functions.php do seu tema filho

Este já é um dos meus lugares favoritos, entretanto ainda tem o problema da troca de temas como descrito acima, mas já vai persistir a atualizações do tema pai.

Se você não sabe como criar um tema filho, não se preocupe, é bem simples de fazer isso, tem o processo descrito aqui: https://codex.wordpress.org/pt-br:Temas_Filhos.

Mesmo com esse tipo de problema de trocar de tema e precisar refazer, é um bom lugar de ser feito, sem contar que certos códigos podem até fazer sentido serem utilizados aqui, como algum tipo de edição que vai ser especifica para o tema, como desativar um slideshow que faz parte do tema (não faço ideia do motivo obscuro de você fazer isso, mas é apenas um exemplo 😛 ).

Criar plugins para os códigos

Muita gente tem medo de criar plugins ou até mesmo de utilizá-los, entretanto isso é totalmente besteira, principalmente se for plugin apenas com snippets, pois eles irão possuir apenas o código que você já julga necessário em ter, diferente de um plugin que mexe no banco de dados e ainda adicionam mais 1674345242344 features que você não quer e não precisa. Além de algo que provavelmente vai deixar muita gente PUTA da vida, é que o mesmo código dentro do functions.php ou dentro de um plugin, irá consumir a mesma quantidade de recursos para ser executado e “pesando” da mesma forma, então precisa ser muito cabaço para falar que não quer instalar/criar plugin assim.

Aqui algumas das vantagens de utilizar o código criando um novo plugin para ele e o motivo de eu preferir sempre (quando não é uma mudança especifica para um tema, que no caso prefiro tema filho, como acabei de falar) esta solução:

  • Código não é perdido depois de atualizar o tema (acredito que não preciso dizer que manter tema desatualizado não é seguro).
  • Não vai perder nenhuma das modificações se mudar de tema.
  • Se encontrar algum bug, pode simplesmente desativar/ativar o seu plugin para testar se ele é a causa ou não.
  • É possível reutilizar o plugin em outros projetos e assim economizar tempo.
  • E finalmente porque é simples e muito mais fácil fazer isso do que qualquer outras das alternativas acima.

Quando eu trabalhava como freelancer eu cheguei a pegar vários trabalhos onde era necessário adicionar nova features em um projeto que já existia e que praticamente boa parte das vezes eu podia simplesmente criar um plugin e entregar para o cliente.

Entretanto um monte de gente bugava quando eu explicava para elas que eu não precisava de acesso FTP ou do WP-ADMIN ou de baixar o tema. Depois elas bugavam mais ainda quando eu explicava que iria fazer um plugin que elas deveriam instalar e ativar no projeto, caso o plugin funcionasse, ok, trabalho pronto e elas estavam livres para reutilizar o plugin em outros projetos, mas caso não funcionasse, que era para me mostrar o erro, eu iria corrigir, fazer uma versão nova  e eles teriam que instalar de novo.

É muito mais simples e até mesmo seguro pra mim fazer isso do que ter acesso a mil e uma coisas do cliente. Eu cansei de receber acesso em projetos onde eu precisava por exemplo adicionar um banner de publicidade em uma janela modal na primeira homepage do site, entretanto depois na hora de entregar o projeto, esses “clientes” me dizerem que não conseguiam mais publicar posts, adicionar categorias e mais outros mil “bugs” que não tinham absolutamente nada relacionado com o que eu tinha feito, mas elas me acusavam dizendo que funcionava antes de eu acessar xD
Então fazendo plugins, quando aparecia um doido assim era simples, eu mandava o cara desativar, se o problema persistia ai a culpa já não era mais minha e ele tinha a opção de me pagar para resolver o bug ou ativar o plugin, usar e me dar paz!

Enfim, vou mostrar como criar um plugin, utilizando o exemplo do código para deixar o PAC gratuito que mostrei no começo deste post.

Primeiro de tudo você precisa criar um arquivo .php com o nome do plugin que você quer, tente ser obvio para lhe ajudar no futuro, se você colocar o nome como pica-das-galaxias.php, você provavelmente não vai ter porra de ideia nenhuma depois para que serve o arquivo 😉

Neste caso podemos chamar ele de pac-gratuito.php e dentro do arquivo do plugin devemos começar ele com:

https://gist.github.com/claudiosanches/407d09886de919872e57

Aqui uma breve explicação sobre cada campo do cabeçalho do plugin:

  • Plugin Name: – Aqui é o nome do seu plugin, jovem!
  • Plugin URI: – Um link do plugin, eu prefiro usar o link de onde eu peguei o snippet para fazer ele, se for o caso, ou pode simplesmente não colocar este campo que funciona também muito bem.
  • Description: – Descrição do plugin, que é importante para te fazer lembrar pra que serve no futuro 😉
  • Author: – Jovem, aqui é só colocar o seu nome.
  • Author URI: – Aqui pode colocar seu site ou pode deletar este campo, vai funcionar sem ele também.
  • Version: – Versão do plugin, se tiver em dúvida do que colocar, deixe como 1.0.0, se for mais esperto, pode ir aumentando a versão conforme muda o código e assim se usar em mais projetos saber quem esta com versão desatualizada ou não.

Viu como é fácil?

Depois ainda tem um código para evitar que alguém tente acessar o arquivo do plugin, sem ele estar sendo carregado pelo WordPress, isso é apenas uma dica de segurança e um bom hábito que vocês podem adquirir.

Agora basta colocar o código do snippet no final do arquivo. O código a seguir estou pegando do primeiro exemplo do meu post sobre o PAC Gratuito (caso você não tenha percebido…).

https://gist.github.com/claudiosanches/545c2acab4095a3ed4c8

Agora o plugin esta pronto!

Mas Claudio, não precisa fechar o “php” no final do arquivo?
Não jovens, não precisa fechar, PHP não é HTML e é até melhor não fechar, porque isso evita bugs se deixar espaços ou várias linhas vazias no final do arquivo (o que é até melhor não fechar o “php” e ainda deixar uma linha vazia, gente bem educada faz isso 😉 #ficaadica).

Agora precisa apenas instalar ele, isso também depende de cada um de vocês… Por exemplo podem subir ele por FTP até a pasta wp-content/plugins, lá dentro pode deixar apenas o arquivo pac-gratuito.php ou ser menos porco e criar uma pasta chamada pac-gratuito e dentro colocar o arquivo.

Também pode simplesmente criar a pasta pac-gratuito no seu computador, jogar o arquivo pac-gratuito.php dentro dela e ZIPAR, eu estou falando ZIPAR, preste atenção na palavra ZIPAR, que significa que é para usar a porra do ZIP e não a merda do RAR que um monte de retardado vai usar e vir me perguntar aqui porque tentou subir o plugin no WordPress e deu erro!
Pois então, depois de ZIPAR a pasta, basta ir no painel administrativo do seu WordPress em “Plugins > Adicionar Novo”, clicar no botão “Enviar plugin”, selecionar o arquivo e instalar.

enviar-plugin
Olhem este caralho de imagem onde diz bem claro que deve enviar .zip. Não seja retardado de mandar arquivo .rar!

Aqui no meu site tem alguns plugins específicos que eu fiz, como por exemplo:

meu-plugin

Viram como é fácil criar um plugin e que não tem motivo para ter medo?

Se quiserem aprender mais como desenvolver plugins, tem este tutorial que é ótimo e foi com ele que eu aprendi: https://codex.wordpress.org/Writing_a_Plugin.

5 Comentários

  1. Thiago Rumpelstiltskin

    show de bola mano!

  2. Adorei a didática do tutorial kkkkk, realmente essa é a melhor maneira. Parabéns!!!!

  3. Jader Silva

    Olá Claudio, tudo sussa?

    Atualmente eu uso um plugin para gerenciar os meus snippets, ele permite entre outras coisas, exportar, adicionar tags, comentários etc. Eu achei muito bacana a sua ideia de criar um plugin para um determinado serviço, e, principalmente de falar pro “cliente” desativar o plugin no caso de achar que foi ele que causou o erro.

    Sucesso e obrigado por compartilhar!

  4. Luiz Sobral

    Excelente texto. Comecei a aplicar os ajustes usando o plugin. Funciona melhor do que usar o function do Tema Filho.
    Criei um padrão para os nomes dos plugins: dominio + _custom. Exemplo se fosse para este blog: claudiosmweb_custom.php dentro da pasta de mesmo nome.

    Fantástico. Muito obrigado.

  5. Odirlon Herartt

    kkkkkkkkkk, cara, tu é fera! volta a escrever 🙂

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *