使用CMB2, 我们可以为各种帖子类型创建元框。现在, 默认情况下, 每个添加的自定义字段都将用新行分隔。
为了获得更好的可用性, 我需要将一些文本字段彼此相邻添加, 如下面的图像所示:
CMB2甚至有可能吗?
现在使用的代码Im是:
$cmb->add_field( array(
'name' => 'Test Text Medium', 'desc' => 'Street', 'default' => '', 'id' => 'street', 'type' => 'text_medium', ) );
#1
在这种情况下, cmb具有创建自定义字段类型的强大功能。
希望此链接可以为你提供帮助https://github.com/WebDevStudios/CMB2/wiki/Adding-your-own-field-types#use-the-field-in-your-template
你可以在自定义字段中使用多个字段
这是用于创建具有多个字段的自定义字段的简单代码
function cmb2_render_address_field_callback( $field, $value, $object_id, $object_type, $field_type ) {
$value = wp_parse_args( $value, array(
'street1' => '', 'street2' => '', 'street3' => ''
) );
?>
<div class="alignleft"><p><label for="<?php echo $field_type->_id( '_street1' ); ?>">Street</label></p>
<?php echo $field_type->input( array(
'class' => 'cmb_text_small', 'name' => $field_type->_name( '[street1]' ), 'id' => $field_type->_id( '_street1' ), 'type' => 'street1', 'value' => $value['street1'], ) ); ?>
</div>
<div class="alignleft"><p><label for="<?php echo $field_type->_id( '_street2' ); ?>'">Street</label></p>
<?php echo $field_type->input( array(
'class' => 'cmb_text_small', 'name' => $field_type->_name( '[street2]' ), 'id' => 'street2', 'type' => 'text', 'value' => $value['street2'], ) ); ?>
</div>
<div class="alignleft"><p><label for="<?php echo $field_type->_id( '_street3' ); ?>'">Street</label></p>
<?php echo $field_type->input( array(
'class' => 'cmb_text_small', 'name' => $field_type->_name( '[street3]' ), 'id' => $field_type->_id( '_street3' ), 'type' => 'time', 'value' => $value['street3'], ) ); ?>
</div>
<?php
echo $field_type->_desc( true );
}
add_filter( 'cmb2_render_address', 'cmb2_render_address_field_callback', 10, 5 );
评论前必须登录!
注册