>
$field['name'])); ?>
render_layout($field, $layout, 'acfcloneindex', array());
}
endforeach; ?>
>
$value):
// validate
if(empty($layouts[$value['acf_fc_layout']]))
continue;
// render
$this->render_layout($field, $layouts[$value['acf_fc_layout']], $i, $value);
endforeach;
endif; ?>
'acf-button button',
'href' => '#',
'data-name' => 'add-layout',
);
$button = apply_filters('acfe/flexible/action_button', $button, $field);
if(!empty($wrapper)){
echo '
';
}
?>
>
'button',
'style' => 'padding-left:5px;padding-right:5px; margin-left:3px;',
'href' => '#',
'data-name' => 'acfe-flexible-control-button',
);
$button_secondary = apply_filters('acfe/flexible/action_button_secondary', $button_secondary, $field);
?>
>
';
}
?>
'layout',
'data-id' => $id,
'data-layout' => $layout['name']
);
// is clone?
if(!is_numeric($i)){
$div['class'] .= ' acf-clone';
}
$div = apply_filters("acfe/flexible/layouts/div", $div, $layout, $field, $i, $value, $prefix);
$div = apply_filters("acfe/flexible/layouts/div/name={$name}", $div, $layout, $field, $i, $value, $prefix);
$div = apply_filters("acfe/flexible/layouts/div/key={$key}", $div, $layout, $field, $i, $value, $prefix);
$div = apply_filters("acfe/flexible/layouts/div/layout={$l_name}", $div, $layout, $field, $i, $value, $prefix);
$div = apply_filters("acfe/flexible/layouts/div/name={$name}&layout={$l_name}", $div, $layout, $field, $i, $value, $prefix);
$div = apply_filters("acfe/flexible/layouts/div/key={$key}&layout={$l_name}", $div, $layout, $field, $i, $value, $prefix);
// handle
$handle = array(
'class' => 'acf-fc-layout-handle',
'title' => __('Drag to reorder','acf'),
'data-name' => 'collapse-layout',
);
$handle = apply_filters("acfe/flexible/layouts/handle", $handle, $layout, $field, $i, $value, $prefix);
$handle = apply_filters("acfe/flexible/layouts/handle/name={$name}", $handle, $layout, $field, $i, $value, $prefix);
$handle = apply_filters("acfe/flexible/layouts/handle/key={$key}", $handle, $layout, $field, $i, $value, $prefix);
$handle = apply_filters("acfe/flexible/layouts/handle/layout={$l_name}", $handle, $layout, $field, $i, $value, $prefix);
$handle = apply_filters("acfe/flexible/layouts/handle/name={$name}&layout={$l_name}", $handle, $layout, $field, $i, $value, $prefix);
$handle = apply_filters("acfe/flexible/layouts/handle/key={$key}&layout={$l_name}", $handle, $layout, $field, $i, $value, $prefix);
// remove row
// This makes Flexible Content in ACFE Form buggy in a Flexible Content Preview
//reset_rows();
?>
>
$prefix.'[acf_fc_layout]', 'value' => $layout['name'])); ?>
>
get_layout_title($field, $layout, $i, $value); ?>
render_layout_fields($layout, $field, $i, $value, $prefix);
// Unprepare Editor
remove_filter('acf/prepare_field/type=wysiwyg', array($this, 'prepare_layout_editor'));
do_action("acfe/flexible/render_layout", $layout, $field, $i, $value, $prefix);
do_action("acfe/flexible/render_layout/name={$name}", $layout, $field, $i, $value, $prefix);
do_action("acfe/flexible/render_layout/key={$key}", $layout, $field, $i, $value, $prefix);
do_action("acfe/flexible/render_layout/layout={$l_name}", $layout, $field, $i, $value, $prefix);
do_action("acfe/flexible/render_layout/name={$name}&layout={$l_name}", $layout, $field, $i, $value, $prefix);
do_action("acfe/flexible/render_layout/key={$key}&layout={$l_name}", $layout, $field, $i, $value, $prefix);
?>
0,
'i' => 0,
'field_key' => '',
'nonce' => '',
'layout' => '',
'value' => array(),
));
// load field
$field = acf_get_field($options['field_key']);
if(!$field){
die();
}
// vars
$layout = $this->instance->get_layout($options['layout'], $field);
if(!$layout){
die();
}
// title
$title = $this->get_layout_title($field, $layout, $options['i'], $options['value']);
// echo
echo $title;
die();
}
/**
* get_layout_title
*
* @param $field
* @param $layout
* @param $i
* @param $value
*
* @return string
*/
function get_layout_title($field, $layout, $i, $value){
// vars
$rows = array();
$rows[ $i ] = $value;
// add loop
acf_add_loop(
array(
'selector' => $field['name'],
'name' => $field['name'],
'value' => $rows,
'field' => $field,
'i' => $i,
'post_id' => 0,
)
);
// vars
$_title = $layout['label'];
$title = $layout['label'];
// filters
$title = apply_filters("acf/fields/flexible_content/layout_title", $title, $field, $layout, $i);
$title = apply_filters("acf/fields/flexible_content/layout_title/name={$field['_name']}", $title, $field, $layout, $i);
$title = apply_filters("acf/fields/flexible_content/layout_title/key={$field['key']}", $title, $field, $layout, $i);
if(in_array('title', $field['acfe_flexible_add_actions'])){
// Get Layout Title
$value = get_sub_field('acfe_flexible_layout_title');
if(!empty($value)){
$title = wp_unslash($value);
}
$title = '
' . $title . '';
}
$attrs = array(
'class' => 'acfe-layout-title'
);
$attrs = apply_filters("acf/fields/flexible_content/layout_attrs", $attrs, $field, $layout, $i);
$attrs = apply_filters("acf/fields/flexible_content/layout_attrs/name={$field['_name']}", $attrs, $field, $layout, $i);
$attrs = apply_filters("acf/fields/flexible_content/layout_attrs/key={$field['key']}", $attrs, $field, $layout, $i);
// remove loop
acf_remove_loop();
// prepend order
$order = is_numeric($i) ? $i + 1 : 0;
$title = '
' . $order . ' ' . acf_esc_html($title) . '';
// return
return $title;
}
/**
* render_layout_fields
*
* @param $layout
* @param $field
* @param $i
* @param $value
* @param $prefix
*/
function render_layout_fields($layout, $field, $i, $value, $prefix){
// vars
$sub_fields = $layout['sub_fields'];
$el = $layout['display'] === 'table' ? 'td' : 'div';
if(empty($sub_fields)){
return;
}
if($layout['display'] == 'table'): ?>