This post is part of the ClassicPress Plugin Development series in which I am going to look at both best practice for developing plugins and how I approach some requirements as well as some of the functions I commonly use.
A ClassicPress plugin should have a readme.txt file. A readme file is where you “sell” your plugin, it’s features and benefits and why users would want to use it over the competition. Being clear and concise in your explanations will be of benefit.
This file explains what the plugin does, what features it has and is used to present this and other information to the users when they view the plugin details page through their ClassicPress site. This is an example of the plugin details for my SMTP plugin:
As you can see the user first sees the description, but there are a number of other tabs available as well, which are configured in the readme file which are created using a form of Markdown which allows the file to be human readable no matter how it is viewed (unlike HTML markup).
At the basic level, a plugin file does not need to contain much information. Below is an example of the template used by the Update Manager I use for updating my plugins (while the ClassicPress Directory is in development:
=== Plugin Name Here ===
Version: 1.0.0
Requires: 1.0.0
Download link: https://
== Description ==
This text displays in the modal windows; it is required. Write something!
readme.txt files can contain much more information as the example below shows; it is based off the readme file I use with all of my plugins:
=== {plugin name} ===
Description: {short description}.
Version: {version}
Tags: {tags}
Author: {author}
Author URI: {author url}
Contributors: {contributors}
Plugin URI: {plugin url}
Download link: {download url}
Donate link: {donation link}
Requires PHP: 5.6
Requires: 1.0.0
Tested: 4.9.99
Text Domain: {text domain}
Domain Path: {domain path}
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
{short description}
== Description ==
# Description
{Long multiline description of the plugin including any instructions for use.}
== Installation ==
# Installation Instructions
{Installation instruction}
== Frequently Asked Questions ==
# Frequently Asked Questions
### {question}
* {Answer}
== Changelog ==
# Changelog
### [Version 1.0.0](https://github.com/{username}/{plugin-name}/releases/tag/v{version})
{* Release comment}
== Other Notes ==
# {Note tite}
{Notes}
In the above example, the text in braces {} would be replaced with the required text.
Lines starting and ending with == separate the file into tabs when displayed in the plugin details page on your ClassicPress site.
Click to show/hide the ClassicPress Plugin Development Series Index
What should we write about next?
If there is a topic which fits the typical ones of this site, which you would like to see me write about, please use the form, below, to submit your idea.