| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- <?php
- // Define input name prefix using unique identifier.
- $input_prefix = 'acf_fields[' . $field['ID'] . ']';
- $input_id = acf_idify( $input_prefix );
- // Update field props.
- $field['prefix'] = $input_prefix;
- // Elements.
- $div_attrs = array(
- 'class' => 'acf-field-object acf-field-object-' . acf_slugify( $field['type'] ),
- 'data-id' => $field['ID'],
- 'data-key' => $field['key'],
- 'data-type' => $field['type'],
- );
- // Misc template vars.
- $field_label = acf_get_field_label( $field, 'admin' );
- $field_type_label = acf_get_field_type_label( $field['type'] );
- ?>
- <div <?php echo acf_esc_attr( $div_attrs ); ?>>
-
- <div class="meta">
- <?php
- $meta_inputs = array(
- 'ID' => $field['ID'],
- 'key' => $field['key'],
- 'parent' => $field['parent'],
- 'menu_order' => $i,
- 'save' => '',
- );
- foreach ( $meta_inputs as $k => $v ) :
- acf_hidden_input(
- array(
- 'name' => $input_prefix . '[' . $k . ']',
- 'value' => $v,
- 'id' => $input_id . '-' . $k,
- )
- );
- endforeach;
- ?>
- </div>
-
- <div class="handle">
- <ul class="acf-hl acf-tbody">
- <li class="li-field-order">
- <span class="acf-icon acf-sortable-handle" title="<?php _e( 'Drag to reorder', 'acf' ); ?>"><?php echo ( $i + 1 ); ?></span>
- </li>
- <li class="li-field-label">
- <strong>
- <a class="edit-field" title="<?php _e( 'Edit field', 'acf' ); ?>" href="#"><?php echo acf_esc_html( $field_label ); ?></a>
- </strong>
- <div class="row-options">
- <a class="edit-field" title="<?php _e( 'Edit field', 'acf' ); ?>" href="#"><?php _e( 'Edit', 'acf' ); ?></a>
- <a class="duplicate-field" title="<?php _e( 'Duplicate field', 'acf' ); ?>" href="#"><?php _e( 'Duplicate', 'acf' ); ?></a>
- <a class="move-field" title="<?php _e( 'Move field to another group', 'acf' ); ?>" href="#"><?php _e( 'Move', 'acf' ); ?></a>
- <a class="delete-field" title="<?php _e( 'Delete field', 'acf' ); ?>" href="#"><?php _e( 'Delete', 'acf' ); ?></a>
- </div>
- </li>
- <?php // whitespace before field name looks odd but fixes chrome bug selecting all text in row ?>
- <li class="li-field-name"> <?php echo esc_html( $field['name'] ); ?></li>
- <li class="li-field-key"> <?php echo esc_html( $field['key'] ); ?></li>
- <li class="li-field-type"> <?php echo esc_html( $field_type_label ); ?></li>
- </ul>
- </div>
-
- <div class="settings">
- <table class="acf-table">
- <tbody class="acf-field-settings">
- <?php
- // label
- acf_render_field_setting(
- $field,
- array(
- 'label' => __( 'Field Label', 'acf' ),
- 'instructions' => __( 'This is the name which will appear on the EDIT page', 'acf' ),
- 'name' => 'label',
- 'type' => 'text',
- 'class' => 'field-label',
- ),
- true
- );
- // name
- acf_render_field_setting(
- $field,
- array(
- 'label' => __( 'Field Name', 'acf' ),
- 'instructions' => __( 'Single word, no spaces. Underscores and dashes allowed', 'acf' ),
- 'name' => 'name',
- 'type' => 'text',
- 'class' => 'field-name',
- ),
- true
- );
- // type
- acf_render_field_setting(
- $field,
- array(
- 'label' => __( 'Field Type', 'acf' ),
- 'instructions' => '',
- 'type' => 'select',
- 'name' => 'type',
- 'choices' => acf_get_grouped_field_types(),
- 'class' => 'field-type',
- ),
- true
- );
- // instructions
- acf_render_field_setting(
- $field,
- array(
- 'label' => __( 'Instructions', 'acf' ),
- 'instructions' => __( 'Instructions for authors. Shown when submitting data', 'acf' ),
- 'type' => 'textarea',
- 'name' => 'instructions',
- 'rows' => 5,
- ),
- true
- );
- // required
- acf_render_field_setting(
- $field,
- array(
- 'label' => __( 'Required?', 'acf' ),
- 'instructions' => '',
- 'type' => 'true_false',
- 'name' => 'required',
- 'ui' => 1,
- 'class' => 'field-required',
- ),
- true
- );
- // 3rd party settings
- do_action( 'acf/render_field_settings', $field );
- // type specific settings
- do_action( "acf/render_field_settings/type={$field['type']}", $field );
- // conditional logic
- acf_get_view( 'field-group-field-conditional-logic', array( 'field' => $field ) );
- // wrapper
- acf_render_field_wrap(
- array(
- 'label' => __( 'Wrapper Attributes', 'acf' ),
- 'instructions' => '',
- 'type' => 'number',
- 'name' => 'width',
- 'prefix' => $field['prefix'] . '[wrapper]',
- 'value' => $field['wrapper']['width'],
- 'prepend' => __( 'width', 'acf' ),
- 'append' => '%',
- 'wrapper' => array(
- 'data-name' => 'wrapper',
- 'class' => 'acf-field-setting-wrapper',
- ),
- ),
- 'tr'
- );
- acf_render_field_wrap(
- array(
- 'label' => '',
- 'instructions' => '',
- 'type' => 'text',
- 'name' => 'class',
- 'prefix' => $field['prefix'] . '[wrapper]',
- 'value' => $field['wrapper']['class'],
- 'prepend' => __( 'class', 'acf' ),
- 'wrapper' => array(
- 'data-append' => 'wrapper',
- ),
- ),
- 'tr'
- );
- acf_render_field_wrap(
- array(
- 'label' => '',
- 'instructions' => '',
- 'type' => 'text',
- 'name' => 'id',
- 'prefix' => $field['prefix'] . '[wrapper]',
- 'value' => $field['wrapper']['id'],
- 'prepend' => __( 'id', 'acf' ),
- 'wrapper' => array(
- 'data-append' => 'wrapper',
- ),
- ),
- 'tr'
- );
- ?>
- <tr class="acf-field acf-field-save">
- <td class="acf-label"></td>
- <td class="acf-input">
- <ul class="acf-hl">
- <li>
- <a class="button edit-field" title="<?php _e( 'Close Field', 'acf' ); ?>" href="#"><?php _e( 'Close Field', 'acf' ); ?></a>
- </li>
- </ul>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- </div>
|