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.
To create your own plugin, download this repository. For the next steps, let's assume your plugin should be called Torro Super Extension
.
- 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, replacemy-new-plugin-name
withtorro-super-extension
,MY_NEW_PLUGIN_NAME
withTORRO_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 withINITIAL SETUP TASK
, save the file afterwards. - Check the
composer.json
andpackage.json
files. You might wanna update some details to your preferences. - Check the top of
gulpfile.js
, containing theconfig
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.
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.
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.
gulp sass
: Compiles CSS/Sassgulp js
: Compiles JavaScriptgulp pot
: Refreshes POT filegulp header-replace
: Replaces the plugin header with latest datagulp readme-replace
: Replaces the header and description in the readme with latest datagulp build
: Runs all of the above tasks