acf_field_flexible_content::render_field_settings │ public │ ACF 3.6
Renders the flexible content field layouts in the field group editor.
Метод класса: acf_field_flexible_content{}
Хуки из метода
Возвращает
null. Ничего (null).
Использование
$acf_field_flexible_content = new acf_field_flexible_content(); $acf_field_flexible_content->render_field_settings( $field );
- $field(массив) (обязательный)
- An array holding all the field's data.
Список изменений
| С версии 3.6 | Введена. |
Код acf_field_flexible_content::render_field_settings() acf field flexible content::render field settings ACF 6.4.2
<?php
public function render_field_settings( $field ) {
$layout_open = apply_filters( 'acf/fields/flexible_content/layout_default_expanded', false );
// Load default layout.
if ( empty( $field['layouts'] ) ) {
$layout_open = true;
$field['layouts'] = array(
array(),
);
}
$field_settings_class = $layout_open ? 'open' : '';
$toggle_class = $layout_open ? 'open' : 'closed';
$field_settings_style = $layout_open ? '' : 'display: none;';
// loop through layouts
foreach ( $field['layouts'] as $layout ) {
// get valid layout
$layout = $this->get_valid_layout( $layout );
// vars
$layout_prefix = "{$field['prefix']}[layouts][{$layout['key']}]";
?>
<div class="acf-field acf-field-setting-fc_layout" data-name="fc_layout" data-setting="flexible_content" data-layout-label="<?php echo esc_attr( $layout['label'] ); ?>" data-layout-name="<?php echo esc_attr( $layout['name'] ); ?>" data-id="<?php echo esc_attr( $layout['key'] ); ?>">
<div class="acf-label acf-field-settings-fc_head">
<div class="acf-fc_draggable">
<label class="acf-fc-layout-label reorder-layout"><?php esc_attr_e( 'Layout', 'acf' ); ?></label>
</div>
<div class="acf-fc-layout-name copyable">
<span class="layout-name"></span>
</div>
<ul class="acf-bl acf-fl-actions">
<li><button class="acf-btn acf-btn-tertiary acf-btn-sm acf-field-setting-fc-delete"><i class="acf-icon acf-icon-trash delete-layout " href="#" title="<?php esc_attr_e( 'Delete Layout', 'acf' ); ?>"></i></button></li>
<li><button class="acf-btn acf-btn-tertiary acf-btn-sm acf-field-setting-fc-duplicate"><i class="acf-icon -duplicate duplicate-layout" href="#" title="<?php esc_attr_e( 'Duplicate Layout', 'acf' ); ?>"></i></button></li>
<li class="acf-fc-add-layout"><button class="add-layout acf-btn acf-btn-primary add-field" href="#" title="<?php esc_attr_e( 'Add New Layout', 'acf' ); ?>"><i class="acf-icon acf-icon-plus"></i><?php esc_html_e( 'Add Layout', 'acf' ); ?></button></li>
<li><button type="button" class="acf-toggle-fc-layout" aria-expanded="true"></li>
<li><span class="toggle-indicator <?php echo esc_attr( $toggle_class ); ?>" aria-hidden="true"></span></li>
</ul>
</div>
<div class="acf-input acf-field-layout-settings <?php echo esc_attr( $field_settings_class ); ?>" style="<?php echo esc_attr( $field_settings_style ); ?>">
<?php
acf_hidden_input(
array(
'id' => acf_idify( $layout_prefix . '[key]' ),
'name' => $layout_prefix . '[key]',
'class' => 'layout-key',
'value' => $layout['key'],
)
);
?>
<ul class="acf-fc-meta acf-bl">
<li class="acf-fc-meta-label acf-fc-meta-left">
<?php
acf_render_field(
array(
'type' => 'text',
'name' => 'label',
'class' => 'layout-label',
'prefix' => $layout_prefix,
'value' => $layout['label'],
'prepend' => __( 'Label', 'acf' ),
)
);
?>
</li>
<li class="acf-fc-meta-name acf-fc-meta-right copyable input-copyable">
<?php
acf_render_field(
array(
'type' => 'text',
'name' => 'name',
'class' => 'layout-name',
'input-data' => array( '1p-ignore' => 'true' ),
'prefix' => $layout_prefix,
'value' => $layout['name'],
'prepend' => __( 'Name', 'acf' ),
)
);
?>
</li>
<li class="acf-fc-meta-display acf-fc-meta-left">
<div class="acf-input-prepend"><?php esc_html_e( 'Layout', 'acf' ); ?></div>
<div class="acf-input-wrap">
<?php
acf_render_field(
array(
'type' => 'select',
'name' => 'display',
'prefix' => $layout_prefix,
'value' => $layout['display'],
'class' => 'acf-is-prepended',
'choices' => array(
'table' => __( 'Table', 'acf' ),
'block' => __( 'Block', 'acf' ),
'row' => __( 'Row', 'acf' ),
),
)
);
?>
</div>
</li>
<li class="acf-fc-meta-min">
<?php
acf_render_field(
array(
'type' => 'text',
'name' => 'min',
'prefix' => $layout_prefix,
'value' => $layout['min'],
'prepend' => __( 'Min', 'acf' ),
)
);
?>
</li>
<li class="acf-fc-meta-max">
<?php
acf_render_field(
array(
'type' => 'text',
'name' => 'max',
'prefix' => $layout_prefix,
'value' => $layout['max'],
'prepend' => __( 'Max', 'acf' ),
)
);
?>
</li>
</ul>
<div class="acf-input-sub">
<?php
// vars
$args = array(
'fields' => $layout['sub_fields'],
'parent' => $field['ID'],
'is_subfield' => true,
);
acf_get_view( 'acf-field-group/fields', $args );
?>
</div>
</div>
</div>
<?php
}
}