Skip to content

Instantly share code, notes, and snippets.

@marcelotorres
Last active December 14, 2016 01:56
Show Gist options
  • Save marcelotorres/13a680afc6723e91a26bf56a9bc64287 to your computer and use it in GitHub Desktop.
Save marcelotorres/13a680afc6723e91a26bf56a9bc64287 to your computer and use it in GitHub Desktop.
<?php
/**
* Configura o metabox e os campos personalizados
*/
function cmb2_referencias_metaboxes() {
// Recomnedado usar um prefixo no id do campo
$prefix = '_cmb2_';
// Inicializa o metabox dos campos personalizados
$cmb = new_cmb2_box( array(
'id' => 'referencias',
'title' => __( 'Referências', 'cmb2' ),
'object_types' => array( 'page', ), // Aqui defino que só irá mostrar no 'Post type' post
'context' => 'normal',
'priority' => 'high',
'show_names' => true,
) );
// Grupo de campos
$group_field_id = $cmb->add_field( array(
'id' => 'referencias_grupo', // id do campo que será usado quando for puzar as infos no tema
'type' => 'group',
'description' => __( '', 'cmb2' ),
'repeatable' => true, // Aqui indeica que o grupo de campos poderá der repetido
'options' => array( // Personalização dos textos dos botões
'group_title' => __( 'Referência {#}', 'cmb2' ),
'add_button' => __( 'Adicionar referência', 'cmb2' ),
'remove_button' => __( 'Remover referência', 'cmb2' ),
),
) );
// Campo de URL
$cmb->add_group_field( $group_field_id, array(
'name' => __( 'URL', 'cmb2' ),
'desc' => __( 'Insira a URL', 'cmb2' ),
'id' => $prefix . 'referencia_url', // id do campo que será usado quando for puzar as infos no tema
'type' => 'text_url',
'protocols' => array('http', 'https'), // Array of allowed protocols
) );
// Campo da breve descrição
$cmb->add_group_field( $group_field_id, array(
'name' => __( 'Breve descrição', 'cmb2' ),
'desc' => __( 'Digite uma breve descrição', 'cmb2' ),
'id' => $prefix . 'referencia_text', // id do campo que será usado quando for puzar as infos no tema
'type' => 'text',
) );
}
// Action para gerar o que foi configurado
add_action( 'cmb2_admin_init', 'cmb2_referencias_metaboxes' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment