1
0
Fork 0
mirror of https://github.com/inretio/WordPress-Plugin-Boilerplate synced 2024-12-22 20:03:53 +02:00

Merge pull request #3 from tommcfarlin/master

Update 16.05.2013
This commit is contained in:
Ulrich Pogson 2013-05-16 14:15:55 -07:00
commit e121073eb1
8 changed files with 77 additions and 55 deletions

View file

@ -1,3 +1,21 @@
## 2.5.0 (16 May 2013)
* Updating `readme.txt` to be up to standard with the current WordPress Plugin Repository demo
* Updating page-level DocBlocks for consistency
## 2.4.0 (15 May 2013)
* Renaming and updating references in the pot file to match the new file names
* Renaming all `display` files to `public` (i.e., `display.js` to `public.js`)
* Updating references in comments and in code to the plugin class files and plugin files
* Updating the way the plugin terminates execution if accessed directly
* Updating code comments, clearing extraneous whitespace
* Renaming files to be more consistent with the example name of the plugin
* Renaming 'plugin-boilerplate' to 'plugin-name' to be more consistent with the naming conventions of the class file
* Adding a sample screenshot to match the example WordPress Plugin Repository `readme.txt`
* Removing the plugin version constant in favor of a property in the plugin class
* Adding proper page-level DocBlocks
## 2.3.0 (13 May 2013) ## 2.3.0 (13 May 2013)
* Moving the activation hooks outside of the class and marking the methods as static * Moving the activation hooks outside of the class and marking the methods as static

View file

@ -1,35 +1,35 @@
# WordPress Plugin Boilerplate # 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 WordPress Plugin Boilerplate serves as a foundation and aims to provide a clear and consistent guide for building your WordPress plugins.
## Features ## Features
* The Plugin Boilerplate is fully-based on the WordPress [Plugin API](http://codex.wordpress.org/Plugin_API) * The Plugin Boilerplate is fully-based on the WordPress [Plugin API](http://codex.wordpress.org/Plugin_API).
* Uses [PHPDoc](http://en.wikipedia.org/wiki/PHPDoc) conventions for easily following the code * Uses [PHPDoc](http://en.wikipedia.org/wiki/PHPDoc) conventions to document the code.
* Liberal use of `TODO` to guide you through what you need to change * Example values are given, so you can see what needs to be changed.
* Uses a strict file organization scheme to make sure the assets are easily maintainable * 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](http://www.poedit.net/) * Note that this boilerplate includes a `.pot` as a starting translation file.
## Contents ## Contents
The WordPress Plugin Boilerplate includes the following files: The WordPress Plugin Boilerplate includes the following files:
* This `README` * This README, a ChangeLog, and a `gitignore` file.
* A subdirectory called `plugin-boilerplate` * A subdirectory called `plugin-name`
## Installation
1. Copy the `plugin-boilerplate` directory into your `wp-content/plugins` directory 1. Copy the `plugin-name` directory into your `wp-content/plugins` directory
2. Navigate to the *Plugins* dashboard page 2. Navigate to the *Plugins* dashboard page
3. Locate the menu item that reads *TODO* 3. Locate the menu item that reads *Plugin Name*
4. Click on *Activate* 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. 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 while you're working with it.
If you opt to uncomment Line 77 which contains the following line: A new menu item will be added to the *Plugins* menu if you uncomment Line 71 in the class file which contains the following line:
`add_action( 'admin_menu', array( $this, 'plugin_admin_menu' ) );` `add_action( 'admin_menu', array( $this, 'add_plugin_admin_menu' ) );`
Then a new menu item will be added to the *Plugins* menu.
## License ## License
@ -52,18 +52,15 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
### Licensing ### Licensing
The WordPress Plugin Boilerplate is licensed under the GPL2+ or later; however, if you opt to use third-party frameworks The WordPress Plugin Boilerplate is licensed under the GPL v2 or later; however, if you opt to use third-party code that is not compatible with v2, then you may need to switch to using code that is GPL v3 compatible.
such as [Bootstrap](http://twitter.github.io/bootstrap/) in your work, then you should be aware of this:
> The most likely occurrence of this issue is with Themes developed using Twitter Bootstrap. When reviewing such Themes, please be sure to check that, if the Theme is licensed under GPL, that the license specifies either unversioned GPL, or GPLv3.0. For reference, [here's a discussion](http://make.wordpress.org/themes/2013/03/04/licensing-note-apache-and-gpl/) that covers the Apache 2.0 License used by [Bootstrap](http://twitter.github.io/bootstrap/).
For reference, [here's the full conversation](http://make.wordpress.org/themes/2013/03/04/licensing-note-apache-and-gpl/).
## Assets ## Assets
The assets directory provides two files that are used to represent plugin header images. The assets directory provides two files that are used to represent plugin header images.
When committing your work to the WordPress Plugin Repository, these files should reside in their own `assets` directory, not in the root of the plugin. The initaly repository will contain three directories: When committing your work to the WordPress Plugin Repository, these files should reside in their own `assets` directory, not in the root of the plugin. The initial repository will contain three directories:
1. `branches` 1. `branches`
2. `tags` 2. `tags`
@ -76,8 +73,13 @@ You'll need to add an `assets` directory into the root of the repository. So the
3. `tags` 3. `tags`
4. `trunk` 4. `trunk`
Next, copy the contents of the `assets` directory that are bundled with the Boilerplate into the root of the repository. This is how the WordPress Plugin Repository will retrieving the plugin header image. Next, copy the contents of the `assets` directory that are bundled with the Boilerplate into the root of the repository. This is how the WordPress Plugin Repository will retrievie the plugin header image.
Of course, you'll want to customize the header images from the place holders that are provided with the boilerplate. Of course, you'll want to customize the header images from the place holders that are provided with the Boilerplate.
For more, in-depth information about this, read [this post](http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/) by Otto. For more, in-depth information about this, read [this post](http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/) by [Otto](https://twitter.com/Otto42).
Plugin screenshots can be saved to one of two locations:
* The traditional location is to keep them in the root of the plugin directory. This will increase the size of the download of the plugin, but make the images accessible for those who install it.
* Alternatively, you can save the screenshots in the `assets` directory, as well. The repository will look here for the screenshot files as well; however, they will not be included in the plugin download thus reducing the size of the plugin.

View file

@ -1,10 +1,12 @@
=== Plugin Name === === Plugin Name ===
Contributors: username1, username2 (this should be a list of wordpress.org userid's) Contributors: (this should be a list of wordpress.org userid's)
Donate link: http://example.com/ Donate link: http://example.com/
Tags: comments, spam Tags: comments, spam
Requires at least: 3.3.1 Requires at least: 3.5.1
Tested up to: 3.3.1 Tested up to: 3.6
Stable tag: 1.0.0 Stable tag: 1.0.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Here is a short description of the plugin. This should be no more than 150 characters. No markup here. Here is a short description of the plugin. This should be no more than 150 characters. No markup here.
@ -58,24 +60,26 @@ Answer to foo bar dilemma.
== Screenshots == == Screenshots ==
1. This screen shot description corresponds to screenshot-1.(png|jpg|jpeg|gif). Note that the screenshot is taken from 1. This screen shot description corresponds to screenshot-1.(png|jpg|jpeg|gif). Note that the screenshot is taken from
the directory of the stable readme.txt, so in this case, `/tags/4.3/screenshot-1.png` (or jpg, jpeg, gif) the /assets directory or the directory that contains the stable readme.txt (tags or trunk). Screenshots in the /assets
directory take precedence. For example, `/assets/screenshot-1.png` would win over `/tags/4.3/screenshot-1.png`
(or jpg, jpeg, gif).
2. This is the second screen shot 2. This is the second screen shot
== Changelog == == Changelog ==
= 1.0.0 = = 1.0 =
* A change since the previous version. * A change since the previous version.
* Another change. * Another change.
= 0.5.0 = = 0.5 =
* List versions from most recent at top to oldest at bottom. * List versions from most recent at top to oldest at bottom.
== Upgrade Notice == == Upgrade Notice ==
= 1.0.0 = = 1.0 =
Upgrade notices describe the reason a user should upgrade. No more than 300 characters. Upgrade notices describe the reason a user should upgrade. No more than 300 characters.
= 0.0.5 = = 0.5 =
This version fixes a security related bug. Upgrade immediately. This version fixes a security related bug. Upgrade immediately.
== Arbitrary section == == Arbitrary section ==

View file

@ -4,9 +4,9 @@
* *
* @package PluginName * @package PluginName
* @author Your Name <email@example.com> * @author Your Name <email@example.com>
* @copyright 2013 Your Name or Company Name
* @license GPL-2.0+ * @license GPL-2.0+
* @link http://example.com/plugin-name * @link http://example.com
* @copyright 2013 Your Name or Company Name
*/ */
/** /**

View file

@ -5,10 +5,11 @@
* A foundation off of which to build well-documented WordPress plugins that also follow * A foundation off of which to build well-documented WordPress plugins that also follow
* WordPress coding standards and PHP best practices. * WordPress coding standards and PHP best practices.
* *
* @package PluginName * @package PluginName
* @author Your Name <email@example.com> * @author Your Name <email@example.com>
* @license GPL-2.0+ * @license GPL-2.0+
* @link TODO * @link http://example.com
* @copyright 2013 Your Name or Company Name
* *
* @wordpress-plugin * @wordpress-plugin
* Plugin Name: TODO * Plugin Name: TODO

View file

@ -2,12 +2,11 @@
/** /**
* Fired when the plugin is uninstalled. * Fired when the plugin is uninstalled.
* *
* @package PluginName * @package PluginName
* @author TODO * @author Your Name <email@example.com>
* @license GPL-2.0+ * @license GPL-2.0+
* @link TODO * @link http://example.com
* @version 1.0.0 * @copyright 2013 Your Name or Company Name
* @since 1.0.0
*/ */
// If uninstall, not called from WordPress, then exit // If uninstall, not called from WordPress, then exit

View file

@ -5,11 +5,11 @@
* This includes the header, options, and other information that should provide * This includes the header, options, and other information that should provide
* The User Interface to the end user. * The User Interface to the end user.
* *
* @package PluginName * @package PluginName
* @author TODO * @author Your Name <email@example.com>
* @license GPL-2.0+ * @license GPL-2.0+
* @link TODO * @link http://example.com
* @since 1.0.0 * @copyright 2013 Your Name or Company Name
*/ */
?> ?>
<div class="wrap"> <div class="wrap">

View file

@ -5,13 +5,11 @@
* This typically includes any information, if any, that is rendered to the * This typically includes any information, if any, that is rendered to the
* frontend of the theme when the plugin is activated. * frontend of the theme when the plugin is activated.
* *
* @package PluginName * @package PluginName
* @subpackage views * @author Your Name <email@example.com>
* @author TODO * @license GPL-2.0+
* @license GPL-2.0+ * @link http://example.com
* @link TODO * @copyright 2013 Your Name or Company Name
* @version 1.0.0
* @since 1.0.0
*/ */
?> ?>
<!-- This file is used to markup the public facing aspect of the plugin. --> <!-- This file is used to markup the public facing aspect of the plugin. -->