Escrevendo um plugin simples para o WordPress
Olá!
Segue abaixo um tutorial sobre escrever um plugin simples para o WordPress. Nosso primeiro plugin terá a funcionalidade de colocar um status seu no Blog, assim como tem no Orkut. Algo do tipo:
Status: “Hoje estou feliz :) estou escrevendo meu primeiro plugin para WordPress”
Os objetivos do plugin serão:
- Receber e armazenar o status no wp-admin
- Disponibilizar a função para ser exibida no template
1. Escolhendo um nome
Primeiro passo para escrever um plugin é escolher um nome que seja único. Pra isso, entre em http://wordpress.org/extend/plugins/ e verifique se o nome já não existe. Nosso plugin de hoje terá o nome de “MyStatus”.
2. Iniciando o desenvolvimento
Para desenvolver plugins para WordPress não precisa de conhecimentos avançados em PHP. Vamos iniciar o desenvolvimento pelo cabeçalho. É obrigatório seu Plugin começar com o seguinte trecho de código comentado:
/* Plugin Name: MyStatus Plugin URI: http://www.site_do_plugin.com.br Description: Plugin que exibe o seu status atual Version: 0.1 Author: Marcelo Honório Author URI: http://www.marcelohonorio.com.br */
3. Desenvolvendo as funcionalidades
Primeiramente vamos adicionar a chamada do plugin no wp-admin para o nosso plugin. Colocaremos ele como um box no menu lateral esquerdo, pra isso, adicionaremos as seguintes linhas:
add_action('admin_menu', 'mystatus_menu');
function mystatus_menu() {
add_menu_page('MyStatus', 'MyStatus', 1, __FILE__, 'show_my_status');
}
Vamos às explicações. Na função add_action() dissemos para o WordPress que no admin_menu (menu lateral esquerdo do wp-admin), quando ele for construído, adicionar o Box do nosso plugin com o nome MyStatus e quando clicar nele, remeter para o próprio arquivo do plugin (__FILE__) que você escontrará a função show_my_status() para ser executada.
function show_my_status(){
global $mystatus_o_name;
if(isset($_POST['mystatus'])){
update_option('mystatus_name', $_POST['mystatus']);
$save = true;
}
$mystatus = get_option('mystatus_name');
$txt = '
<h2>MyStatus</h2>
';
$txt .= isset($save) ? 'Status salvo com sucesso!' : '';
$txt .= '
<form action="'.$_SERVER['REQUEST_URI'].'" method="post">
<input name="mystatus" size="100" type="text" value="'.$mystatus.'" />
<input class="button" type="submit" value="Atualizar!" /></form>
';
echo $txt;
}
Nessa função está sendo impressa o formulário para recebimento do status e a escrita no banco de dados. Se você estiver familiarizado com o PHP, entenderá esse código rapidamente, a não ser pelas funções update_option() e get_option(). Ambos os métodos servem para a persistências de dados. Com as funções add_option(), get_option(), update_option() é possível adicionar, recuperar e atualizar dados respectivamente. Os dados podem ser strings, inteiros, array, matrizes, objetos, ou qualquer outro dado que pode ser serializado pelo PHP.
Aproveitando que citei sobre a persistência de dados, precisamos ter esse espaço preparado já na instalação do plugin.
register_activation_hook(__FILE__, 'mystatus_activate');
function mystatus_activate() {
if(get_option('mystatus_name')){
update_option('mystatus_name', '');
}else{
add_option('mystatus_name', '');
}
}
A função register_activation_hook() serve para executar uma função assim que o plugin é ativado. Na nossa função de ativamento, estamos preparando o espaço de armazenamento do nosso plugin.
O último passo é desenvolver a função que que exibirá o status assim que for chamada a função mystatus().
function mystatus() {
$mystatus = get_option('mystatus_name');
echo $mystatus;
}
add_action('mystatus', 'mystatus');
Pronto! Nosso plugin está desenvolvido! Para utilizá-lo, é só colocar algo do tipo no seu template:
Meu status:
Bom, espero que tenham entendido como desenvolver um simples plugin para WordPress. Qualquer dúvida é só deixar mensagem!
Download do plugin: MyStatus