include_json_folder( $path ); } } /* * include_json_folder * * This function will include all .json files within a folder * * @type function * @date 1/5/17 * @since 5.5.13 * * @param n/a * @return n/a */ function include_json_folder( $path = '' ) { // remove trailing slash $path = untrailingslashit( $path ); // bail early if path does not exist if( !is_dir($path) ) return false; // open $dir = opendir( $path ); // bail early if not valid if( !$dir ) return false; // loop over files while(false !== ( $file = readdir($dir)) ) { // validate type if( pathinfo($file, PATHINFO_EXTENSION) !== 'json' ) continue; // read json $json = file_get_contents("{$path}/{$file}"); // validate json if( empty($json) ) continue; // decode $json = json_decode($json, true); // add local $json['local'] = 'json'; // add field group acf_add_local_field_group( $json ); } // return return true; } } // initialize acf()->json = new acf_json(); endif; // class_exists check /* * acf_write_json_field_group * * This function will save a field group to a json file within the current theme * * @type function * @date 5/12/2014 * @since 5.1.5 * * @param $field_group (array) * @return (boolean) */ function acf_write_json_field_group( $field_group ) { // vars $path = acf_get_setting('save_json'); $file = $field_group['key'] . '.json'; // remove trailing slash $path = untrailingslashit( $path ); // bail early if dir does not exist if( !is_writable($path) ) return false; // prepare for export $id = acf_extract_var( $field_group, 'ID' ); $field_group = acf_prepare_field_group_for_export( $field_group ); // add modified time $field_group['modified'] = get_post_modified_time('U', true, $id, true); // write file $f = fopen("{$path}/{$file}", 'w'); fwrite($f, acf_json_encode( $field_group )); fclose($f); // return return true; } /* * acf_delete_json_field_group * * This function will delete a json field group file * * @type function * @date 5/12/2014 * @since 5.1.5 * * @param $key (string) * @return (boolean) */ function acf_delete_json_field_group( $key ) { // vars $path = acf_get_setting('save_json'); $file = $key . '.json'; // remove trailing slash $path = untrailingslashit( $path ); // bail early if file does not exist if( !is_readable("{$path}/{$file}") ) { return false; } // remove file unlink("{$path}/{$file}"); // return return true; } ?>