Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Exemplo de uso da Classe Custom Meta Boxes - Baixe a classe em: http://www.deluxeblogtips.com/2011/06/update-meta-box-script-v32-is-available.html
- $prefix = 'cms_'; //prefixo
- $meta_boxes = array();
- // first meta box
- $meta_boxes[] = array(
- 'id' => 'dados_pessoais', // id do meta box id, precisa ser unico
- 'title' => 'Dados Pessoais', //titulo do meta box
- 'pages' => array('post', 'page', 'slider'),// post types, custom post types, o padrao é array('post'); OPCIONAL
- 'context' => 'normal', // onde o meta box vai aparecer: normal (padrao), advanced, side; OPCIONAL
- 'priority' => 'high', // ordem do meta box: high (padrao), low; OPCIONAL
- 'fields' => array( // lista de campos
- array(
- 'name' => 'Nome completo', // nome do campo
- 'desc' => '<em>informe o seu nome completo</em>',// descrição do campo; aceita html, OPCIONAL
- 'id' => $prefix . 'nome_completo', // id do campo, o meta key
- 'type' => 'text', // tipo do campo; "text" para campo texto
- 'std' => 'Ana Maria',// valor padrao, OPCIONAL
- 'style' => 'width: 100px', // estilo customizado para o campo, OPCIONAL
- 'validate_func' => 'check_name' // funcao para validaçao do campo, criada abaixo, em RW_Meta_Box_Validate class
- ),
- array(
- 'name' => 'Data de Nascimento',
- 'id' => $prefix . 'data_nascimento',
- 'type' => 'date',// tipo do campo: date
- 'format' => 'd MM, yy'// formato da data, padrao "yy-mm-dd". OPCIONAL. Veja mais formatos em: http://goo.gl/po8vf
- ),
- array(
- 'name' => 'Sexo',
- 'id' => $prefix . 'sexo',
- 'type' => 'radio', // tipo do campo: radio box
- 'options' => array( // array de keys => par de valores para opções radio
- 'm' => 'Masculino',
- 'f' => 'Feminino'
- ),
- 'std' => 'm', //valor padrao selecionado
- 'desc' => '<em>Informe o sexo</em>'
- ),
- array(
- 'name' => 'Biografia',
- 'desc' => '<em>Fale um pouco sobre você</em>',
- 'id' => $prefix . 'bio',
- 'type' => 'textarea',// tipo do campo: textarea
- 'std' => '',
- 'style' => 'width: 200px; height: 100px' //custom styles
- ),
- array(
- 'name' => 'Onde você vive?',
- 'id' => $prefix . 'local',
- 'type' => 'select',// tipo do campo: select box
- 'options' => array( // array de key => par de valores para select box
- 'usa' => 'USA',
- 'br' => 'Brasil'
- ),
- 'multiple' => true, // "select multiple", OPCIONAL. Padrão é false.
- 'std' => array('usa'), // valor padrao, pode ser string (single value) ou array (para ambos, single and multiplos valores)
- 'desc' => '<em>Selecione o local</em>'
- ),
- array(
- 'name' => 'Sobre o WordPress',// checkbox
- 'id' => $prefix . 'love_wp',
- 'type' => 'checkbox',
- 'desc' => 'Eu amo o WordPress'
- )
- )
- );
- // segundo meta box
- $meta_boxes[] = array(
- 'id' => 'infos_adicionais',
- 'title' => 'Informações adicionais',
- 'pages' => array('post', 'film', 'slider'),
- 'fields' => array(
- array(
- 'name' => 'O que você acha sobre o WordPress?',
- 'id' => $prefix . 'sobre_wp',
- 'type' => 'wysiwyg', //Tipo do campo: WYSIWYG editor
- 'std' => '<b>Ele é maravilhoso!</b>',
- 'desc' => '',
- 'style' => 'width: 300px; height: 400px'//tamanho do campo editor
- ),
- array(
- 'name' => 'Envie um arquivo',
- 'desc' => '<em>Use este campo para enviar um arquivo</em>',
- 'id' => $prefix . 'arquivo',
- 'type' => 'file' // Tipo do campo: file upload
- ),
- array(
- 'name' => 'Imagens',
- 'desc' => '<em>Use este campo para enviar imagens</em>',
- 'id' => $prefix . 'imagens',
- 'type' => 'image' // Tipo do campo: image upload
- )
- )
- );
- //terceiro meta box
- $meta_boxes[] = array(
- 'id' => 'pesquisa',
- 'title' => 'Pesquisa',
- 'pages' => array('post', 'loja', 'page'),
- 'fields' => array(
- array(
- 'name' => 'Sua cor favorita',
- 'id' => $prefix . 'cor',
- 'type' => 'color' // Tipo do campo: color
- ),
- array(
- 'name' => 'Seu hobby',
- 'id' => $prefix . 'hobby',
- 'type' => 'checkbox_list', // Tipo do campo: checkbox list
- 'options' => array( // opções do checkbox, em key => value (key não pode conter espaços)
- 'leitura' => 'Livros e Revistas',
- // chame assim: $checkbox_list = get_post_meta(get_the_ID(), 'meta_name', false);
- 'esporte' => 'Ginástica, Box'
- // e use: if (in_array($checkbox_list['leitura']) {// faça algo aqui...}
- ),
- 'desc' => '<em>O que você faz no seu tempo livre</em>'
- ),
- array(
- 'name' => 'Que horas você acorda?',
- 'id' => $prefix . 'acorda',
- 'type' => 'time', // Tipo do campo: time
- 'format' => 'hh:mm:ss' // Formato, padrão: hh:mm. OPCIONAL. Veja mais formatos aqui: http://goo.gl/hXHWz
- )
- )
- );
- //inclua a Classe aqui
- require_once('metabox/meta-box-3.2.class.php');
- //aqui é onde se criam os meta boxes ....
- foreach ($meta_boxes as $meta_box) {
- new RW_Meta_Box($meta_box);
- }
- /**
- * Validation class
- * Define ALL validation methods inside this class
- * Use the names of these methods in the definition of meta boxes (key 'validate_func' of each field)
- */
- class RW_Meta_Box_Validate {
- function check_name($text) {
- if ($text == 'Anh Tran') {
- return 'He is Rilwis';
- }
- return $text;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement