123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 |
- <?php
- //phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound -- included template file.
- // 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'],
- );
- // Add additional class if the field is an endpoint.
- if ( isset( $field['endpoint'] ) && $field['endpoint'] ) {
- $div_attrs['class'] .= ' acf-field-is-endpoint';
- }
- // Misc template vars.
- $field_label = acf_get_field_label( $field, 'admin' );
- $field_type_label = acf_get_field_type_label( $field['type'] );
- if ( ! isset( $num_field_groups ) ) {
- $num_field_groups = 0;
- }
- ?>
- <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>
- <?php if ( $num_field_groups > 1 ) : ?>
- <a class="move-field" title="<?php _e( 'Move field to another group', 'acf' ); ?>" href="#"><?php _e( 'Move', 'acf' ); ?></a>
- <?php endif; ?>
- <a class="delete-field" title="<?php _e( 'Delete field', 'acf' ); ?>" href="#"><?php _e( 'Delete', 'acf' ); ?></a>
- </div>
- </li>
- <li class="li-field-name"><span class="copyable"><?php echo esc_html( $field['name'] ); ?></span></li>
- <li class="li-field-key"><span class="copyable"><?php echo esc_html( $field['key'] ); ?></span></li>
- <li class="li-field-type">
- <i class="field-type-icon field-type-icon-<?php echo acf_slugify( $field['type'] ); ?>"></i>
- <span class="field-type-label">
- <?php echo acf_esc_html( $field_type_label ); ?>
- </span>
- </li>
- </ul>
- </div>
- <div class="settings">
- <div class="acf-field-editor">
- <div class="acf-field-settings acf-fields">
- <?php
- acf_render_field_wrap(
- array(
- 'type' => 'tab',
- 'label' => __( 'General', 'acf' ),
- 'key' => 'acf_field_settings_tabs',
- 'settings-type' => 'general',
- )
- );
- ?>
- <div class="acf-field-settings-main acf-field-settings-main-general">
- <?php
- // 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
- );
- // 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
- );
- // 3rd party settings
- do_action( 'acf/render_field_settings', $field );
- // type specific settings
- ?>
- <div class="acf-field-type-settings" data-parent-tab="general">
- <?php
- do_action( "acf/render_field_settings/type={$field['type']}", $field );
- do_action( "acf/render_field_general_settings/type={$field['type']}", $field );
- ?>
- </div>
- </div><!-- /.acf-field-settings-main-general -->
- <?php
- acf_render_field_wrap(
- array(
- 'type' => 'tab',
- 'label' => __( 'Validation', 'acf' ),
- 'key' => 'acf_field_settings_tabs',
- 'settings-type' => 'validation',
- )
- );
- ?>
- <div class="acf-field-settings-main acf-field-settings-main-validation">
- <?php
- // required
- acf_render_field_setting(
- $field,
- array(
- 'label' => __( 'Required', 'acf' ),
- 'instructions' => '',
- 'type' => 'true_false',
- 'name' => 'required',
- 'ui' => 1,
- 'class' => 'field-required',
- ),
- true
- );
- ?>
- <div class="acf-field-type-settings" data-parent-tab="validation">
- <?php do_action( "acf/render_field_validation_settings/type={$field['type']}", $field ); ?>
- </div>
- </div><!-- /.acf-field-settings-main-validation -->
- <?php
- acf_render_field_wrap(
- array(
- 'type' => 'tab',
- 'label' => __( 'Presentation', 'acf' ),
- 'key' => 'acf_field_settings_tabs',
- 'settings-type' => 'presentation',
- )
- );
- ?>
- <div class="acf-field-settings-main acf-field-settings-main-presentation">
- <?php
- 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
- );
- 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',
- ),
- ),
- 'div'
- );
- 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',
- ),
- ),
- 'div'
- );
- ?>
- <div class="acf-field-type-settings" data-parent-tab="presentation">
- <?php do_action( "acf/render_field_presentation_settings/type={$field['type']}", $field ); ?>
- </div>
- <?php
- 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',
- ),
- ),
- 'div'
- );
- ?>
- </div><!-- /.acf-field-settings-main-presentation -->
- <?php
- $conditional_logic_class = $conditional_logic_text = '';
- if ( isset( $field['conditional_logic'] ) && is_array( $field['conditional_logic'] ) && count( $field['conditional_logic'] ) > 0 ) {
- $conditional_logic_class = ' is-enabled';
- $conditional_logic_text = __( 'Active', 'acf' );
- }
- acf_render_field_wrap(
- array(
- 'type' => 'tab',
- 'label' => __( 'Conditional Logic', 'acf' ) . '<i class="conditional-logic-badge' . $conditional_logic_class . '">' . $conditional_logic_text . '</i>',
- 'key' => 'acf_field_settings_tabs',
- 'settings-type' => 'conditional_logic',
- )
- );
- ?>
- <div class="acf-field-settings-main acf-field-settings-main-conditional-logic">
- <?php acf_get_view( 'field-group-field-conditional-logic', array( 'field' => $field ) ); ?>
- <div class="acf-field-type-settings" data-parent-tab="conditional_logic">
- <?php do_action( "acf/render_field_conditional_logic_settings/type={$field['type']}", $field ); ?>
- </div>
- </div><!-- /.acf-field-settings-main-conditional-logic -->
- <div class="acf-field-settings-footer">
- <a class="button close-field edit-field" title="<?php _e( 'Close Field', 'acf' ); ?>" href="#"><?php _e( 'Close Field', 'acf' ); ?></a>
- </div>
- </div>
- </div>
- </div>
- </div>
|