field, array( 'max' => 0, 'min' => 0, 'fields' => array(), 'button_title' => esc_html__('Add New', 'csf'), 'accordion_title_prefix' => '', 'accordion_title_number' => false, 'accordion_title_auto' => true, )); $title_prefix = (!empty($args['accordion_title_prefix'])) ? $args['accordion_title_prefix'] : ''; $title_number = (!empty($args['accordion_title_number'])) ? true : false; $title_auto = (!empty($args['accordion_title_auto'])) ? true : false; if (preg_match('/' . preg_quote('[' . $this->field['id'] . ']') . '/', $this->unique)) { echo '
' . esc_html__('Error: Field ID conflict.', 'csf') . '
'; } else { echo $this->field_before(); echo '
'; echo '
'; echo ''; echo ''; echo ''; echo '
'; echo '

'; echo ''; echo ($title_number) ? '' : ''; echo ($title_prefix) ? '' . esc_attr($title_prefix) . '' : ''; echo ($title_auto) ? '' : ''; echo ''; echo '

'; echo '
'; foreach ($this->field['fields'] as $field) { $field_default = (isset($field['default'])) ? $field['default'] : ''; $field_unique = (!empty($this->unique)) ? $this->unique . '[' . $this->field['id'] . '][0]' : $this->field['id'] . '[0]'; CSF::field($field, $field_default, '___' . $field_unique, 'field/group'); } echo '
'; echo '
'; echo '
'; if (!empty($this->value)) { $num = 0; foreach ($this->value as $value) { $first_id = (isset($this->field['fields'][0]['id'])) ? $this->field['fields'][0]['id'] : ''; $first_value = (isset($value[$first_id])) ? $value[$first_id] : ''; $first_value = (is_array($first_value)) ? reset($first_value) : $first_value; echo '
'; echo '
'; echo ''; echo ''; echo ''; echo '
'; echo '

'; echo ''; echo ($title_number) ? '' . esc_attr($num + 1) . '.' : ''; echo ($title_prefix) ? '' . esc_attr($title_prefix) . '' : ''; echo ($title_auto) ? '' . esc_attr($first_value) . '' : ''; echo ''; echo '

'; echo '
'; foreach ($this->field['fields'] as $field) { $field_unique = (!empty($this->unique)) ? $this->unique . '[' . $this->field['id'] . '][' . $num . ']' : $this->field['id'] . '[' . $num . ']'; $field_value = (isset($field['id']) && isset($value[$field['id']])) ? $value[$field['id']] : ''; CSF::field($field, $field_value, $field_unique, 'field/group'); } echo '
'; echo '
'; $num++; } } echo '
'; echo '
' . esc_html__('You cannot add more.', 'csf') . '
'; echo '
' . esc_html__('You cannot remove more.', 'csf') . '
'; echo '' . $args['button_title'] . ''; echo $this->field_after(); } } public function enqueue() { if (!wp_script_is('jquery-ui-accordion')) { wp_enqueue_script('jquery-ui-accordion'); } if (!wp_script_is('jquery-ui-sortable')) { wp_enqueue_script('jquery-ui-sortable'); } } } }