Learning WP Development My Way
Basic File Structure
- admin – Code that is only used on the admin side of the site.
- includes – Code that is used on both the admin and public sides.
- class-plugin-name.php – The core class for the plugin.
- Used to keep plugin name and version.
- Loads dependencies, including those in the other class-plugin-* files.
- class-plugin-name-activator.php – Used when you need to perform an action upon plugin activation.
- class-plugin-name-deactivator.php – Used when you need to perform an action upon plugin deactivation.
- class-plugin-name-loader.php – Orchestrates the hooks of the plugin.
- $actions and $filters – where the various hooks are stored.
- The hooks added through the above classes will be registered by the class run().
- class-plugin-name-i18n.php – Defines internationalization functionality.
- class-plugin-name-admin.php – Defines all hooks for the admin area.
- class-plugin-name-plugin.php – Defines all hooks for the public side of site.
- languages – Language files.
- public – Code that is only used on the public side.
- index.php – Used to keep folks from browsing the directory when published to the web.
- plugin-name.php – The initial file loaded by the plugin which then loads other files within the plugin.
- uninstall.php – What should be done when the plugin is deleted, e.g. removing data, cleaning up files.
Bibliography / Further Resources.
- Firdaus Zahari. Speed Up Plugin Development Using the WordPress Plugin Boilerplate. SitePoint, 2015.
- Helpful article that talks about the structure of the WPPB, unfortunately, doesn’t go further than this into actually developing a plugin using WPPB.