Na versão 2.7 o WordPress estreiou as meta boxes, que são aquelas caixinhas arrastáveis que estão presente 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 interajem com os posts ou páginas, é necessário adicionar um novo campo à area de edição. Afim 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 metaboxes as 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 responssá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 metabox. Já o $title é o título da metabox, $callback é a sua função que ficará responssável pelo carregamento do conteúdo dentro da metabox e $page é a página onde a sua metabox será carregada (‘page’, ‘post’, ‘link’, etc). Os outros parâmetros são opcionais: $context define o local da página onde sua metabox será carregada por padrão (‘normal’, ‘advanced’, ‘side’) enquanto $priority diz o posicionamento padrão da metabox dentro do $context (‘high’ ou ‘low’), e por fim $callback_args que permite a passagem de argumentos à metabox.
Por exemplo, para criar uma metabox 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 metabox:
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
/*
Plugin Name: MetaBox: Incentivador
Description: Mostra uma frase
Version: 0.1
Author: Marcelo Mesquita
Author URI: http://www.marcelomesquita.com/
*/
add_action('do_meta_boxes', 'incentivador_metabox');
function incentivador_metabox()
{
add_meta_box('incentivador', 'Incentivador', 'incentive_me', 'post', 'side', 'high');
}
function incentive_me()
{
$frases = array(
'Você consegue!',
'Faça seu melhor!',
'Tudo é possível!'
);
print $frases[rand(0, 3)];
}
?>
Para saber mais acesse a Referência da Função add_meta_box
Pingback: WordPress Video
Poderia me falar como fazer um query para pegar um determinado conteudo do Meta Box.
Criei um metabox que é um checkbox, agora não sei como fazer a query para visualizar ele no site.
Oi Nilson,
vai depender de como você fez para salvar as informações desse metabaox. Sugiro utilizar as funções update_option e get_option do próprio WordPress, assim você não precisa se preocupar em montar queries.
Abraço.
Hey clever points.. now why did not i consider those? Off topic slightly, is that this web page sample merely from an bizarre installation or else do you use a custom-made template. I use a webpage i’m seeking to improve and effectively the visuals is likely one of many key issues to complete on my list.