=== PHP Code Keeper for Gravity Forms === Contributors: uamv Donate link: https://typewheel.xyz/give/?via=GH-CCK Tags: gravity, code, developer, php, snippets Requires PHP: 7.4 Requires at least: 5.6 Tested up to: 6.7.1 Stable tag: 3.1 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Provides a reliable and consistent way to create, store, edit, and load custom form-related PHP code on your site. == Description == = How does it work? = PHP Code Keeper for Gravity Forms… - creates a directory at `wp-content/uploads/gravity_hopper/code/`. - adds a file `gf-global-code.php` *(for housing globally run code)*. - optionally creates/duplicates/deletes a `gf-00xx.php` file for every form created/duplicated/deleted. *(for housing form-specific code)* - will load all files in the code directory associated with an existing form or having prefix that has been explicitly allowed. - allows exporting any number of code files to compressed .zip. - introduces pages in the Gravity Forms interface whereby you can manage custom PHP code. **Code Keeper does not restrict when specific files are included on the site. All code from allowed files residing in the `gravity_hopper/code/` directory will run for all forms. Always use appropriate hooks and/or conditional checks when targeting specific forms and fields.** = Why use it? = PHP Code Keeper provides orderliness to your code customizations, gives you a better sense of the specific code running across your site, and helps ensure your customizations are not lost when other site modifications are made. Learn more in the walk-through article _[What is PHP Code Keeper for Gravity Forms?](https://orbitalforge.com/custom-code-keeper-for-gravity-forms/)_ = Need more for your Gravity Forms development? = Saving you time and effort with every form you build, **[Orbital Forge](https://orbitalforge.com)** offers an elite array of builder tools that integrates seamlessly with Gravity Forms. == Frequently Asked Questions == = Does PHP Code Keeper load custom code per form? = No. This plugin is intended for code wrangling only and does not restrict when code is run. All code from allowed files residing in the `gravity_hopper/code/` directory will run for all forms. Always use appropriate hooks and/or conditional checks when targeting specific forms and fields. = Can I edit the custom code from within my WordPress dashboard? = Yes! Create, edit, and delete files via **Forms β†’ Code** and **Form β†’ Settings β†’ Code Keep** You can also add a link to open the files directly in your preferred code editor using the filter `gravityhopper-cck/opoen_file_uri`. ``` add_filter( 'gravityhopper-cck/open_file_uri', function( $uri, $filename ) { return array( 'app' => 'VS Code', 'protocol' => 'vscode:/', 'path' => $filename ); }, 10, 2 ); ``` = How are files loaded? = Allowed files within the directory `gravity_hopper/code/` of your uploads directory will be loaded. The file `gf-global-code.php` will always be loaded and will be loaded before other files. Any files matching prefix patterns allowed via the filter `gravityhopper-cck/allowed_file_prefixes` will be loaded in the order they appear in that filtered array. Finally, any form-specific files named using the convention `gform-00xx.php` will be loaded next, provided a form matching the ID exists on the site. == Changelog == = 3.1 // 2025.01-Jan.23 = πŸ“¦ NEW: Adds `gravityhopper-cck/open_file_uri` filter πŸ“– DOC: Rebrands authorship to Orbital Forge = 3.0.1 // 2024.11-Nov.01 = ✨ IMPROVE: Remove unnecessary logging ✨ IMPROVE: Adjust height of editor to ensure visibility of last line = 3.0 // 2024.06-Jun.19 = πŸ“¦ NEW: Allows file editing and management via UI πŸ“¦ NEW: Adds integration with Gravity Hopper: Keyboard Shortcut module = 2.3.1 // 2022.11-Nov.10 = ✨ IMPROVE: Performance in checking files to load πŸ“– DOC: Tested up to 6.1 = 2.3 // 2022.03-Mar.08 = πŸ› FIX: Load on `init` rather than `gform_loaded` to prevent form breakage ✨ IMPROVE: Consolidates multiple calls to GFAPI::get_forms() ✨ IMPROVE: Adds more details to system report πŸ“– DOC: Simplifies readme file = 2.2.2 // 2022.02-Feb.18 = πŸš€ RELEASE: renaming the plugin = 2.2.1 // 2022.02-Feb.15 = πŸ“– DOC: formats readme file = 2.2 // 2022.02-Feb.15 = πŸš€ RELEASE: Initial public launch