How to release own developed Plugin on WordPress.org?
If you are
- WordPress PlugIn Developer,
- and just have created your very first Plugin,
- and want to release that Plugin on WordPress.org
then this article is for you.
Creation of WordPress Plugin
To discuss all the points, an example of a live Wordress Plugin will be used here: Special Promotion and Support - https://wordpress.org/plugins/special-promotion-and-support/
Download it, and install it. all WordPress Plugins must be kept at this location always :
- www.example.com/wp-content/plugins
- C:\xampp\htdocs\test\wp-content\plugins
Obviously a PlugIn may contain a lot of files and folders. But there must be two files at least:
- filename.php,
- readme.txt
here is the sample of a blank filename.php file:
<?php
/*
Plugin Name: Special Promotion and Support
Plugin URI: https://store.devilhunter.net/wordpress-plugin/special-promotion-and-support/
Description: Attract your audience by showing that you have a Special Offer for them. Plugin activation is enough, but in the offer page, you can show this Special Offer image as a widget.
Version: 1.0
Author: Tawhidur Rahman Dear
Author URI: https://www.tawhidurrahmandear.com
Requires at least: 5.5
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: special-promotion-and-support
*/
// Prevent direct file access
if ( ! defined ( 'ABSPATH' ) ) {
exit;
}
//
WRITE CODE HERE
Plugin URI means you should have a personally hosted webpage highlighting your PlugIn. If you don't have any special page for this, leave it blank. Author URI means developer's homepage. It may be your company homepage like: https://store.devilhunter.net or even may be your own Facebook profile address.
here is the sample of a blank readme.txt file:
=== Special Promotion and Support ===
Contributors: tawhidurrahmandear (Your WordPress.org username)
Tags: special offer, marketing, new offer, support, woocommerce (Maximum five keywords separated by comma)
Requires at least: 5.0 (Here 5.0 means WordPress 5.0 version)
Tested up to: 6.7 (Here 6.7 means WordPress 6.7 version)
Stable tag: 1.0 (The version of your own WordPress Plugin that you have just created)
Requires PHP: 7.4 (may be latest PHP version, if your Plugin works)
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Attract your audience instantly that you have a Special Offer for them (Type Introduction here)
== Description ==
<p><strong>A Paragraph in Bold</strong></p>
* Feature 1
* Feature 2
* Feature 2
<h3>Headline</h3>
https://www.youtube.com/watch?v=mOAS7mvQjRM
<ul>
<li>List 1</li>
<li>List 2</li>
<li>List 3</li>
</ul>
<p>Little HTML is allowed <a target="_blank" href="https://www.example.com" style="text-decoration: none"><font color="#3366FF"><strong>TEXT</strong></font></a></p>
<br>
<p>Thank you</p>
== Installation ==
<p><strong>Download this free WordPress.org Plugin, and </strong></p>
Step 1. Open your WordPress Admin Dashboard, click "Add New" in Plugins section
Step 2. Click on "Upload Plugin"
Step 3. Select the downloaded package, now click on "Install Now"
Step 4. Click on "Activate Plugin" to activate the Plugin
Step 5.
Step 6.
== Changelog ==
= 2.0 - 2022-04-09 =
- Fix - Minor Change
= 1.0 - 2018-07-29 =
* Initial release
⚠️ Plugin name will be plugin slug ⚠️
Here
- Plugin name is Special Promotion and Support, and
- the slug is https://wordpress.org/plugins/special-promotion-and-support/
Although after approval, you can change the Plugin name to something else, but should be related. But the slug will always be the same.
Validate WordPress readme.txt file
WordPress.org offers to validate readme.txt file here: https://wordpress.org/plugins/developers/readme-validator and you should check it before Plugin submission.
Submit Plugin to WordPress.org for Review
Step 1 : Log-in to WordPress.org from https://login.wordpress.org
Step 2 : Submit your plugin for review from https://wordpress.org/plugins/developers and before doing that read instructions. There may be an important update, which you should know.
Step 3 : You will get upload link there. Open that webpage. Read from top to bottom, and upload and submit the Plugin. It must be zip folder just in the way you download other Plugins.
If there is any problem, Plugin Review Team will inform you for corrections. Once the PlugIn is approved, you will be notified via email. Email subject should be like this: [WordPress Plugin Directory] Special Promotion and Support has been approved! Sender email should be plugins@wordpress.org
This email will contain the SVN repository address. This is a publicly open address. Anyone can read from any computer without even log-in to WordPress. But only you can update it via SVN. Now just open with your browser to know how it looks https://plugins.svn.wordpress.org/special-promotion-and-support
Update WordPress Plugin via SVN
For the first time when Plugin Review Team approves the Plugin, it will be instantly available for download, but there will be no Icon or Banner image. You will have to upload it manually. These are called assets. Beside that every time you want to update the PlugIn, you can't use Web-based upload system. You will have to do it using a software.
Tortoise SVN
SVN, or Subversion, is a version control system similar to Git. It can be used via command line, or one of numerous GUI applications, such as Tortoise SVN, SmartSVN, and more.
Download Tortoise SVN from https://tortoisesvn.net/downloads.html and install.
Asset Upload
See the Banner and Thumbnail below. After the Plugin approval from WordPress Plugin Review Team, you will have to upload the assets.
First copy the SVN URL of your PlugIn from your email, and after that, anywhere in your PC click the right button of you mouse. Now find "SVN Checkout". If the address is fine, click on "OK".
Click on "OK" again when it's finished.
Now open the downloaded folder. You will get four folders
- assets
- branches
- tags
- trunk
Keep banners here inside assets folder, and file name must be:
- banner-772x250.png
- banner-1544x500.png
also keep banners here, and file name must be:
- icon-128x128.png
- icon-256x256.png
You can create two different types of Banners or you can create two different types of Icons for the Plugin.
Depending on window size, different Banner and Icon set will be displayed in the Web browser.
Now select the assets folder (this is the assets folder where you just have kept your Banners and Icons.) Press right button of mouse, and find "SVN Commit".
At this point, if you are not logged in already, it will prompt for authentication. Type your WordPress.org credentials.
After that the SVN Commit window will appear like below. Type a note in Recent message.
Click on "OK" again when it's finished. Your are done. Refresh your browser, and check your Banner and Icon. If you want to update the assets, process is same.
For screenshots, you should keep all screenshots inside assets folder, and upload/update ins the same way. Screenshot files name must be like these:
- screenshot-1.png
- screenshot-2.png
- screenshot-3.png
Update Plugin
Process is almost same. Keep updated Plugin files inside Trunk folder. All files must be unzipped.
- Now select the Trunk folder (this is the Trunk folder where you just have kept your PlugIn files.)
- Press right button of mouse, and find "SVN Commit".
- After that the SVN Commit window will appear. Type a note in Recent message.
- Click on "OK" again when it's finished.
Your are done. Refresh your browser, and check your Banner and Icon.
Major Update
If your update is a Major update, you must versionize/tag new release.
- Select the Trunk folder
- Press right button of mouse, and find "Tortoise SVN".
- Then find "Branch/Tag" option. Open it
- After that a window will appear. Type a note in Recent message.
- Click on "OK" again when it's finished.
Minor Update
If your update is a Minor update, don't bother your Plugin users. For example, you are fixing a spelling mistake somewhere which is not even noticeable at all, then you
- update trunk folder.
- delete present version from tags folder by repo browser,
- then Branch/Tag the present version again.
For example, if the present version is 1.0, then you will have to update trunk normally. Then open Repository Browser (or Repo-browser in short)
- Press right button of mouse, and find "Tortoise SVN".
- Then find "Repo browser" option. Open it. It will take 1 or 2 minutes.
- Open Tags folder
- Delete 1.0 version. Press Delete on keyboard. Type Recent message.
- Click "OK" to close