Support

Account

Home Forums General Issues Save individual field group automatically to plugin using save_json Reply To: Save individual field group automatically to plugin using save_json

  • Here is what I come up with based on your suggestion:

    
        function my_save_json( $path ) {
    
            if( isset($_POST['acf_field_group']['key']) ) {
    
                $paths = my_load_json(array()); //  pass in empty array to only get local paths
    
                foreach( $paths as $load_path ) {
    
                    //  loop over each load path for json files
                    foreach (glob($load_path . "/*.json") as $filename) {
                        
                        $field_group = json_decode(file_get_contents($filename), true);
                        
                        //  if the key matches a group in this plugin then return the path
                        if (is_array($field_group) && $field_group['key'] == $_POST['acf_field_group']['key']) {
                            return $load_path;
                        }
                    }
    
                }
    
            }
    
            // return
            return $path;
    
        }
    
        function my_load_json( $paths ) {
            $paths[] = MY_PLUGIN_DIR .'fields';
            return $paths;
        }
    
    

    This works on next field group save if I move the generated JSON file into my plugin directory.

    How does that look to you?