Objota O mundo orientado a objetos

Como criar plugins para wordpress – Parte 2 – Boas práticas

Posted on janeiro 26, 2011

Boas práticas para criar Plugins WordPress

Recentemente publiquei um artigo mostrando como fazer um plugin para WordPress. Mas ele era somente mais um hello world. Para complementar então aquele artigo, elaborei esse com base em algumas pesquisas. E vi que existem, pelo menos, estes bons conselhos a se seguir durante a implementação de um plugin. Disponíveis na documentação oficial

Orientação a Objetos

Desenvolver seu plugin utilizando oop já é uma boa iniciativa. Pois minimiza a zero a possibilidade de conflito de funções (funções com mesmo nome). É inclusive recomendado na própria documentação.

Faça bom uso da API de Plugins

Não tente reinventar o que já está pronto. Faça uso do que já está disponível, pois existem funções para fazer de tudo na Plugin API.

Use o objeto $wpdb para querys.

Para operações com banco de dados, utilize o objeto $wpdb. Utilizando-o corretamente é possível evitar SQL Injection. Utilize o atributo prefix deste objeto para montar suas querys, pois assim é possível seguir o padrão estabelecido durante a configuração de instalação do wordpress. Geralmente o prefixo sugerido pelo wordpress é wp_. Porém o usuário tem total liberdade para alterar isso para joaozinho_, agora diga, como você pode adivinhar isso? Simples, não adivinhe! Faça uso de $wpdb->prefix nas querys.

Operações excessivas com o banco de dados 🙁

Evite fazer operações desnecessárias com o banco. Faça todo o processamento e salve só quando necessário. Muitas operações podem abater o desempenho do CMS. Porém operações com SELECT são bem rápidas, se usadas com consciência. Por exemplo: se quer somente id_post e data, faça um select específico para isso. Evite SELECT * FROM. Isso é fatal para o desempenho do servidor.

Options, usar com moderação

Utilize o mínimo de options! Se possível use somente uma. Como? Simples, é possível inserir arrays associativos como parâmetro, ao inserir com add_option eles são serializados e inseridos na tabela option e ao recuperar com get_option o conteúdo já vem como array.

Uso de bibliotecas: jQuery.. etc.

Caso seu plugin faça uso de bibliotecas como, por exemplo, jQuery ou Prototype, não precisa inserir eles por sua conta. Basta solicitar isso ao WordPress e ele irá chamar para você. Com a função wp_enqueue_script é possível chamar bibliotecas específicas. E para inserir seu script é só usar a função wp_register_script. Mas faça chamada aos scripts somente quando forem realmente utilizados, pois esse arquivo será um peso a mais na hora de carregar as páginas. Compressão de script também é bem vinda.

Nome descritivo para o seu plugin

Essa parte é até meio óbvia, se você fez um plugin que serve para adicionar um botão de twitter na página. Então é natural que seu nome tenha alguma relação, como: add Button twitter, Power Button Twitter e etc. Isso ajuda muito nas buscas, porque ela basicamente procura pelo nome do plugin. Agora, uma vez decidido o nome do dito cujo, utilize um padrão para nomear os arquivos relacionados ao seu plugin. Ex:  meu-plugin.php, meu-plugin-config.php, meu-plugin-style.css, meu-plugin-script.js e etc.

Organização de arquivos

Procure manter bem organizado os arquivos que compõe seu plugin. Agrupe arquivos css, js e imagens em diretórios separados.

Boa limpeza nas desinstalações!

Sempre programe uma função de desinstalação, pois sujeira acumulada prejudica o desempenho do CMS. E pode trazer problemas até mesmo para uma futura instalação do próprio plugin autor dos itens esquecidos. Apague tabelas, options, imagens e outros. Se possível seria bom até mesmo mostrar ao usuário o que foi excluído.

Implementar para internacionalização

Não é difícil e nem arranca pedaço! Para internacionalizar seu plugin primeiro é preciso implementá-lo com as funções __() e _e().  A função __() retorna uma string e _e() ecoa a string na tela.

Este é um conjunto de boas práticas para se seguir durante a implementação de um plugin. Com certeza devem existir outras. Mas acredito que seguindo-as já seja possível fazer plugins de qualidade. Dando o mínimo de risco aos usuário do CMS.

Considerações finais:

Se você acha que faltou alguma coisa e tem alguma sugestão ou dúvida. Por favor comente! Estas foram algumas recomendações, todas elas encontradas no site oficial (link informado lá em cima).

fim e até a próxima!

Posted by Rodrigo Ireno

Comentários (0) Trackbacks (0)

Sem comentários


Leave a comment

Sem trackbacks