Os plugins são funcionalidades extras que podem
ser agregadas ao sistema padrão. O ideal é que os plugins funcionem sem
realizar alterações na base do sistema (hacks), assim os usuários não
ficam reféns dos plugins e, quando surgirem atualizações do sistema base,
o usuário poderá realizá-las sem perigo de perder seus dados ou deixar
seu site fora do ar.
No WordPress, os plugins ficam na pasta ‘wp-config/plugins/’. O
WordPress lê o início de todos os arquivos nessa pasta a procura dos
indicadores de plugin, que são algumas palavras-chave informadas em
forma de comentário. Segue o formato básico das informações de um
plugin:
<?php<br />/*<br />Plugin Name: Nome do plugin<br />Plugin URI: http://endereco.do.plugin/<br />Description: Descrição do plugin<br />Version: Versão do plugin, ex.: 1.0<br />Author: Nome do autor do plugin<br />Author URI: http://endereco.do.autor/<br />*/<br />?>Todas essas informações devem estar no início do arquivo de seu
plugin para que o WordPress os reconheça e os adicione ao gerenciador
de plugins. Ao ativar um plugin, o WordPress simplesmente adiciona o
arquivo à lista de inclusões e a partir daí é que seu plugin começa a
trabalhar.
Um plugin pode trabalhar de diversas formas, ele pode ser apenas uma
função que precisa de uma chamada num tema para que funcione, ou
filtrar alguma informação passada automaticamente pelo WP, ou salvar
outros dados, ou tantas outras utilidades.
Hooks
Cada coisa a seu tempo, vamos começar com algo simples: como
interagir com o WordPress sem hackeá-lo (alterar seu núcleo). Usemos
como exemplo o plugin ‘Hello Dolly’, que vem por padrão nas instalações
do WP. Esse plugin mostra, no topo da área administrativa, uma mensagem
randômica a cada navegação.
Mas como fazer para adicionar um texto na área administrativa do WordPress sem mexer no código do WordPress?
O que acontece é que em diversos pontos-chave do sistema existem
‘ganchos’ (hooks). Quando deparado com esses ganchos, o WordPress
interrompe seu processamento e verifica se existe alguma(s) função(ões)
que usa(m) esse gancho para fazer alguma coisa. Caso exista, a(s)
função(ões) é(são) executada(s) antes de o WP voltar ao seu processamento
normal.
Existem dois tipos de gancho: o ‘action’, que chama a função em
determinado ponto; e o ‘filter’, que passa para a função um conteúdo
como argumento, assim a função pode usar esse conteúdo para realizar
sua tarefa.
Actions
O plugin ‘Hello Dolly’ usa ‘add_action(‘admin_footer’,
‘hello_dolly’)’, dessa forma quando o WordPress chega no gancho
‘admin_footer’, a função ‘hello_dolly’ é chamada e carrega o texto
aleatório.
Filters
Diferente do ‘action’, o ‘filter’ é usado para modificar conteúdos,
por exemplo, se você quer destacar seu nome no conteúdo de seus posts,
adicione um filtro ‘add_filter(‘the_content’, ‘sua_funcao’)’, onde
‘sua_funcao’ varre o conteúdo e adiciona negrito às ocorrências de seu
nome. É importante que a função usada nos filtros sempre retorne o
valor processado, caso contrário o conteúdo original será restaurado.
Para resumir segue um exemplo de um plugin que corrige as ocorrências de ‘wordpress’ para ‘WordPress’ no conteúdo dos posts:
<?php<br /> /*<br /> Plugin Name: Corretor WP<br /> Description: Corrige todas as ocorrências de 'wordpress' para 'WordPress' no conteúdo dos posts<br /> Version: 0.1<br /> Author: Marcelo Mesquita<br /> Author URI: http://marcelomesquita.com/<br /> */<br /><br /> function corrige_WP($content)<br /> {<br /> $content_corrigido = str_replace('wordpress', 'WordPress', $content);<br /><br /> return $content_corrigido;<br /> }<br /><br /> add_filter('the_content', 'corrige_WP');<br /><br />?>Para saber mais sobre Hooks visite a API dos Plugin do WordPress.







