You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Tom McFarlin 397d01dc79 Updating the `.pot` file as it was resulting in a minor error in one of the translation tools. 10 years ago
plugin-boilerplate Updating the `.pot` file as it was resulting in a minor error in one of the translation tools. 10 years ago
.gitignore Improved gitignore based on h5bp 12 years ago Updating the `.pot` file as it was resulting in a minor error in one of the translation tools. 10 years ago

WordPress Plugin Boilerplate

The WordPress Plugin Boilerplate serves as a foundation and aims to provide a clear and consistent guide for building your WordPress plugins.


  • The Plugin Boilerplate is fully-based on the WordPress Plugin API
  • Uses PHPDoc conventions for easily following the code
  • Liberal use of TODO to guide you through what you need to change
  • Uses a strict file organization scheme to make sure the assets are easily maintainable
  • Note that this boilerplate uses plugin.po to provide a translation file. This is compatible with POEdit


The WordPress Plugin Boilerplate includes the following files:

  • This README
  • A subdirectory called plugin-boilerplate
  1. Copy the plugin-boilerplate directory into your wp-content/plugins directory
  2. Navigate to the Plugins dashboard page
  3. Locate the menu item that reads TODO
  4. Click on Activate

This will activate the WordPress Plugin Boilerplate. Because the Boilerplate has no real functionality, nothing will be added to WordPress; however, this demonstrates exactly how your plugin should behave as you're working with it.

If you opt to uncomment Line 77 which contains the following line:

add_action( 'admin_menu', array( $this, 'plugin_admin_menu' ) );

Then a new menu item will be added to the Plugins menu.


The WordPress Plugin Boilerplate is licensed under the GPL v2 or later.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA


2.2.1 (10 May 2013)

  • Updating the .pot file as it was resulting in a minor error in one of the translation tools.

2.2.0 (10 May 2013)

  • Updating the README so the demo changelog is more accurate
  • Renaming the core plugin file to match the name of the plugin (specifically plugin-boilerplate.php from plugin.php)
  • Removing the default .po file and introducing the plugin-boilerplate.pot catalog
  • Removing all terminating code block comments
  • Adding braces around the uninstall.php conditional
  • Changing access modifiers from private to protected. See this discussion for more details.
  • Removing redundant headers since properties, constructors, and methods are clearly defined and segmented throughout the code.

2.1.0 (9 May 2013)

  • Refactoring the ternary operator in the constructor to make the code more readable for developers and to avoid returning an orphaned object
  • Updating certain function names to use verbs to be clearer in their purpose
  • Updating versioning in the plugin and in the README to use the x.y.z convention rather than the x.y convention
  • Adding class property DocBlocks
  • Adding @since tags to each of the DocBlocks for methods
  • Cleaning up the PHP code formatting for easier readability
  • Adding a note about POEdit and it being used as my preferred translations
  • Automatically displaying the name of the plugin admin page
  • Changing 'directives' to 'tags'
  • Updating page-level DocBlocks for plugin.php and for uninstall.php

2.0.1 (7 May 2013)

  • Updating the year of the release of 2.0

2.0.0 (7 May 2013)

  • Disabling the admin menu by default
  • Initializing the attributes
  • Combining the admin_open and admin_close into a single admin view
  • Bringing some of the code up to the WordPress coding standards
  • Added access modifiers for functions
  • Implemented the single pattern
  • japh. Merged upstream changes, maintained separation of uninstall functionality
  • mikkelbreum. Restricted scripts and styles to load only on plugin settings page if it is enabled.
  • mikkelbreum. Added the option for a plugin settings page
  • mikkelbreum. Removed the need to customize the URL for wp_enqueue_style and wp_enqueue_scripts
  • mikkelbreum. Corrected action book for register_admin_styles
  • tbwiii. Listed jQuery as a dependency for both JavaScript sources
  • japh. Added an uninstall.php placeholder
  • leewillis77. Improved the way language files are loaded
  • wesbos. Updated the year to 2013

1.0 (29 November 2012)

  • Official Release

Author Information

The WordPress Plugin Boilerplate was originally started and is maintained by Tom McFarlin, but is constantly under development thanks to the contributions from the many WordPress developers throughout the world.