Dev (Back & Front)ARTIGO

Criando meta boxes no WordPress

A versão 2.7 o WordPress trouxe as meta boxes,
que são aquelas caixinhas arrastáveis que estão presentes no dashboard,
na área de edição de posts e páginas além de outros locais na área
administrativa do WordPress.

Muitas vezes, na criação de plugins que interagem com os posts ou
páginas, é necessário adicionar um novo campo à área de edição. A fim de
manter a formatação do WordPress, a criação de uma meta box é o caminho
mais limpo e fácil. Também é possível adicionar as meta boxes às páginas
dos seus plugins, mas é uma tarefa um pouco mais complicada, então
vamos deixar para outro artigo.

add_meta_box($id, $title, $callback, $page, $context=’advanced’, $priority=’default’, $callback_args=null);

Essa função é a responsável por adicionar a meta box a uma
determinada página. O $id é o identificador único para o HTML, é com
esse identificador que o WordPress manipulará sua meta box. Já o $title
é o título da meta box, $callback é a sua função que ficará responsável
pelo carregamento do conteúdo dentro da meta box, e $page é a página onde
a sua meta box será carregada (‘page’, ‘post’, ‘link’, etc). Os outros
parâmetros são opcionais: $context define o local da página onde sua
meta box será carregada por padrão (‘normal’, ‘advanced’, ‘side’)
enquanto $priority diz o posicionamento padrão da meta box dentro do
$context (‘high’ ou ‘low’), e por fim $callback_args que permite a
passagem de argumentos à meta box.

Por exemplo, para criar uma meta box que mostre uma frase de
incentivo (não consegui pensar em algo mais simples e útil) na parte de
cima do sidebar da tela de edição de posts, ficaria assim:

add_meta_box('incentivador', 'Incentivador', 'incentive_me', 'post', 'side', 'high');

Não se esqueça de criar a função ‘incentive_me’ em seu plugin.

Agora só falta adicionar um gancho para a chamada da meta box:

add_action('do_meta_boxes', 'incentivador_metabox');

Onde ‘incentivador_metabox’ é a função que conterá o seu add_meta_box.

O código final ficaria assim:

<?php<br />/*<br />Plugin Name: MetaBox: Incentivador<br />Description: Mostra uma frase<br />Version: 0.1<br />Author: Marcelo Mesquita<br />Author URI: http://www.marcelomesquita.com/<br />*/<br /><br />add_action('do_meta_boxes', 'incentivador_metabox');<br /><br />function incentivador_metabox()<br />{<br />    add_meta_box('incentivador', 'Incentivador', 'incentive_me', 'post', 'side', 'high');<br />}<br /><br />function incentive_me()<br />{<br />    $frases = array(<br />        'Você consegue!',<br />        'Faça seu melhor!',<br />        'Tudo é possível!'<br />    );<br /><br />    print $frases[rand(0, 3)];<br />}<br />?>

Para saber mais acesse a Referência da Função add_meta_box

é formado em Desenvolvimento de Sistemas para a Web e há mais de cinco anos trabalha com desenvolvimento de sites. Nos últimos dois anos tem seu foco no WordPress: montagem de temas, desenvolvimento de plugins, scripts, widgets e performance.

Ver perfil