WordPress Logo

Criar um plugin do WordPress requer menos trabalho do que criar um tema, dependendo do que ele fará (é claro). Muitos desenvolvedores enchem o arquivo functions.php de um tema em busca de atingir um objetivo que, algumas vezes, seria melhor utilizar um plugin, onde o usuário final pode ativar e desativar tal funcionalidade quando preferir.

Usuários não querem trabalhar com coisas complicadas, ou reaprender coisas que já sabem. Por este motivo, é muito importante que você utilize os recursos que já existem no WordPress, ao invés de tentar reinventar a roda.

Por exemplo, ao invés de criar uma página de opções totalmente diferente do que o usuário já conhece do painel administrativo do WordPress no seu tema, você pode criar vários plugins sem opção nenhuma que podem ser ativados e desativados conforme a necessidade.

Por outro lado, você também pode criar uma página de opções dentro de qualquer plugin do WordPress, dando a opção para o usuário configurar o que ele achar necessário. Fica a seu critério.

Tudo depende do que você precisa adicionar somado à facilidade de uso para seu cliente. As possibilidades são infinitas, somente limitadas pela sua imaginação e conhecimento sobre o WordPress.

Vamos aprender como criar um plugin simples do WordPress com classes PHP abaixo.

WordPress local

Antes que você inicie, nunca trabalha em nenhum servidor que esteja em produção. Instale o WordPress localmente em seu computador para não correr riscos.

Se você não tem intimidade com servidores WAMP, siga nossos tutoriais abaixo:

E se tiver quaisquer dúvidas, comente no artigo que a encontrar.

Criando a pasta do seu plugin

Depois que você já tiver o WordPress instalado e funcional no seu computador, abra a pasta wp-content/plugins/ e crie uma nova pasta com o nome do seu plugin.

Não utilize acentos ou espaços no nome da pasta.

Para nosso exemplo, vou criar uma pasta chamada tutsup-plugin.

Pasta do nosso plugin

Pasta do nosso plugin

Conforme a imagem acima.

Agora vamos trabalhar somente dentro dessa pasta. Todos os arquivos descritos daqui em diante estarão nela.

Arquivo principal do seu plugin

Agora vamos criar o arquivo principal do seu plugin. Também nomeado com o mesmo nome da pasta, mais a extensão .php.

Para nosso exemplo: tutsup-plugin.php

Arquivo principal do nosso plugin

Arquivo principal do nosso plugin

Não se preocupe com os outros arquivos presentes na pasta acima, vou detalhar o que eles fazem posteriormente nesse artigo.

Detalhes do plugin

Na primeira linha do arquivo principal, você precisará detalhar seu plugin da seguinte maneira.

<?php
/* 
Plugin Name: Tutsup Plugin
Plugin URI: http://www.todoespacoonline.com/w/
Description: Essa é a descrição do meu plugin.
Version: 0.0.1
Author: Luiz Otávio Miranda
Author URI: http://www.todoespacoonline.com/w/
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

Preencha os dados de cada linha com os valores que achar necessário. O restante do código do seu plugin virá abaixo do trecho de código acima.

Classe do plugin

A primeira coisa que você deve saber é o que o seu plugin fará. Para o nosso plugin, vamos criar apenas um shortcode do WordPress que irá executar um método da classe assim que ele for executado. Em outras palavras, vamos exibir uma frase simples, apenas para você entender como o desenvolvimento de plugins WordPress funciona.

Vamos verificar se não existe nenhuma classe com o mesmo nome da classe que vamos criar, e em seguida, criaremos a mesma. Veja:

/**
 * Classe tutsup plugin
 * 
 * Carrega um shortcode para exibir um texto simples
 */
 
// Verifica se não existe nenhum classe com o mesmo nome
if ( ! class_exists('TutsupPlugin') ) {

	class TutsupPlugin
	{
    
        /**
         * Este é o construtor da classe. Tudo aqui será executado quando o 
         * plugin for ativado.
         */
        public function __construct() {
            /* Adiciona o shortcode */
            add_shortcode( 'tutsup-plugin', array( $this, 'MetodoSimples' ) );
        }
        
        /**
         * Este é um método simples que irá exibir o texto do nosso shortcode
         */
        public function MetodoSimples () {
            return '<p>Parabéns, você acabou de criar um plugin do WordPress.</p>';
        }
        
	} // TutsupPlugin

	/* Carrega a classe */
	$tutsup_settings = new TutsupPlugin();
    
} // class_exists

Como você pode perceber acima, você precisa de um pouco de conhecimento sobre PHP para criar plugins. Felizmente, fiz um pequeno curso que pode o ajudar nessa jornada. Seguem os links:

A classe do nosso plugin contém dois métodos; um construtor e o método que será executado pelo nosso shortcode.

O construtor, na minha opinião, é o mais importante deles. Nele você pode chamar qualquer ação que você executaria no seu arquivo functions.php. A única diferença é que, como estamos tratando de classes PHP, temos que chamar os métodos no seguinte formato:

add_shortcode( 'tutsup-plugin', array( 'NomeDaClasse', 'NomeDoMetodo' ) );

Apenas substituindo “NomeDaClasse” por “$this”, caso esteja tratando de um método não estático.

O segundo método (MetodoSimples ) é como se fosse uma função PHP comum, porém, é um método dentro de uma classe.

Ativando o plugin

Agora podemos acessar o painel administrativo do WordPress e, em plugin, ativar nosso danado.

Ativando nosso plugin

Ativando nosso plugin

E pronto, seu plugin já estará pronto para ser utilizado.

Testando o plugin

Para testar o plugin que acabamos de criar, basta criar um novo post com o shortcode [tutsup-plugin]. Veja:

Novo artigo com o shortcode

Novo artigo com o shortcode

Isso deverá gerar o seguinte:

Saída do shortcode

Saída do shortcode

Claro que este é apenas um exemplo mostrando como as coisas são simples. Elas podem ficar bem mais complexas conforme você preferir.

Em um plugin do WordPress, você pode utilizar tudo o que você utiliza no arquivo functions.php do seu tema e mais um pouco.

Arquivo readme.txt

Se você tem a intenção de enviar o seu plugin para o diretório de plugins do WordPress, provavelmente vai querer uma descrição detalhada sobre tudo do seu plugin, certo? Isso pode ser feito através do arquivo readme.txt, basta seguir o formato abaixo:

=== Tutsup Plugin ===
Contributors: todoespacoonline
Donate link: http://www.todoespacoonline.com/w/
Tags: tags
Requires at least: 3.0.1
Tested up to: 4.0
Stable tag: 0.0.1
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Breve descrição do plugin.

== Description ==

Descrição longa do seu plugin.

== Installation ==

1. Envie o plugin para a pasta `/wp-content/plugins/`
1. Ative pela área administrativa do WordPress.

== Frequently Asked Questions ==

= Esse plugin faz isso mesmo? =

Sim, faz!

== Screenshots ==

1. Descrição do screenshot.

== Changelog ==

= 0.0.1 =
* Desenvolvimento do plugin.

Você poderá testar este arquivo no Readme Validator.

Arquivo uninstall.php

Para o nosso plugin, o arquivo uninstall.php não tem utilidade. Ele é executado na desinstalação do plugin para remover quaisquer vestígios que você tenha deixado no WordPress do seu cliente, como opções salvas na base de dados e coisas do tipo.

Veja um exemplo:

<?php
//if uninstall not called from WordPress exit
if ( !defined( 'WP_UNINSTALL_PLUGIN' ) ) 
    exit();

// Deleta as opções
delete_option( 'tutsup_plugin' );
delete_site_option( 'tutsup_plugin' );

E pronto! Agora o usuário nem vai saber que um dia teve seu plugin instalado em seu CMS.

Concluindo

Este foi um tutorial básico para você entender a criação de plugins do WordPress, claro que você pode e deve incrementar seu próprio plugin da maneira que for conveniente para sua aplicação ou tema.

Em caso de dúvidas, não deixe de comentar.