, (*1)
This is a plugin boilerplate for a Torro Forms extension. It is highly encouraged to use this boilerplate when building any extension for Torro Forms., (*2)
Getting Started
To create your own plugin, download this repository. For the next steps, let's assume your plugin should be called Torro Super Extension., (*3)
- Rename the directory to
torro-super-extension.
- Rename the plugin main file to
torro-super-extension.php.
- Open
gulpfile.js and scroll to the bottom.
- Replace every value in the
replacements object with your new plugin name or plugin author data in the appropriate format. For example, replace my-new-plugin-name with torro-super-extension, MY_NEW_PLUGIN_NAME with TORRO_SUPER_EXTENSION and so on. Replace the plugin namespace vendor, plugin URL, author name, author email and author URL with your respective data.
- Save the changes.
- Run
npm install in the console.
- Run
gulp init-replace in the console.
- Open
gulpfile.js again and remove the entire bottom section that starts with INITIAL SETUP TASK, save the file afterwards.
- Check the
composer.json and package.json files. You might wanna update some details to your preferences.
- Check the top of
gulpfile.js, containing the config object. You might wanna update some details to your preferences.
- Run
gulp build once to compile everything.
Now you're good to go! One more thing: If you want to publish the plugin on wordpress.org, it's recommended to remove the /languages directory, plus set the config.domainPath to false and remove the pot task in gulpfile.js. Then, remove the now unnecessary arguments from the Extension::load_textdomain() method accordingly., (*4)
Actual Development
Adjust the src/extension.php file to your needs. This is where your extension will get bootstrapped. You can instantiate the services your extension needs here, setup hooks (which will then be automatically invoked by the Torro Forms main plugin) and more., (*5)
All further classes and assets in the boilerplate is optional and simply sample code. Just bear in mind, you should stick to the directory structure used in the boilerplate - it is oriented after the Torro Forms base plugin., (*6)
Common Gulp Tasks
-
gulp sass: Compiles CSS/Sass
-
gulp js: Compiles JavaScript
-
gulp pot: Refreshes POT file
-
gulp header-replace: Replaces the plugin header with latest data
-
gulp readme-replace: Replaces the header and description in the readme with latest data
-
gulp build: Runs all of the above tasks