__('Flexible Content requires at least 1 layout','acf') ); // return return $l10n; } /* * field_group_admin_enqueue_scripts * * description * * @type function * @date 4/11/2013 * @since 5.0.0 * * @param $post_id (int) * @return $post_id (int) */ function field_group_admin_enqueue_scripts() { // scripts wp_enqueue_script('acf-pro-field-group'); // styles wp_enqueue_style('acf-pro-field-group'); } /* * prepare_field_for_export * * description * * @type function * @date 11/03/2014 * @since 5.0.0 * * @param $post_id (int) * @return $post_id (int) */ function prepare_field_for_export( $field ) { // sub field (parent_layout) acf_extract_var( $field, 'parent_layout'); // repeater if( $field['type'] == 'repeater' ) { $field['sub_fields'] = acf_prepare_fields_for_export( $field['sub_fields'] ); // flexible content } elseif( $field['type'] == 'flexible_content' ) { foreach( $field['layouts'] as $l => $layout ) { $field['layouts'][ $l ]['sub_fields'] = acf_prepare_fields_for_export( $layout['sub_fields'] ); } } // return return $field; } /* * prepare_field_for_import * * description * * @type function * @date 11/03/2014 * @since 5.0.0 * * @param $post_id (int) * @return $post_id (int) */ function prepare_field_for_import( $field ) { // var $extra = array(); // sub fields if( $field['type'] == 'repeater' ) { // extract sub fields $sub_fields = acf_extract_var( $field, 'sub_fields'); // reset field setting $field['sub_fields'] = array(); if( !empty($sub_fields) ) { foreach( array_keys($sub_fields) as $i ) { // extract sub field $sub_field = acf_extract_var( $sub_fields, $i ); // attributes $sub_field['parent'] = $field['key']; // append to extra $extra[] = $sub_field; } } } elseif( $field['type'] == 'flexible_content' ) { // extract layouts $layouts = acf_extract_var( $field, 'layouts'); // reset field setting $field['layouts'] = array(); // validate layouts if( !empty($layouts) ) { // loop over layouts foreach( array_keys($layouts) as $i ) { // extract layout $layout = acf_extract_var( $layouts, $i ); // get valid layout (fixes ACF4 export code bug undefined index 'key') if( empty($layout['key']) ) { $layout['key'] = uniqid(); } // extract sub fields $sub_fields = acf_extract_var( $layout, 'sub_fields'); // validate sub fields if( !empty($sub_fields) ) { // loop over sub fields foreach( array_keys($sub_fields) as $j ) { // extract sub field $sub_field = acf_extract_var( $sub_fields, $j ); // attributes $sub_field['parent'] = $field['key']; $sub_field['parent_layout'] = $layout['key']; // append to extra $extra[] = $sub_field; } } // append to layout $field['layouts'][] = $layout; } } } // extra if( !empty($extra) ) { array_unshift($extra, $field); return $extra; } // return return $field; } } // instantiate new acf_pro(); // end class endif; ?>