Build WordPress plugins from scratch: actions and filters, shortcodes, settings pages, custom post types, meta boxes, AJAX, REST endpoints, custom tables, cron and blocks.
Lessons
Publishing to the WordPress.org plugin directory gives your plugin automatic updates and millions of potential users, and requires a GPL licence, a properly formatted readme.txt, a security review and an SVN repository you release through.
=== GDC Books ===
Contributors: yourwporgusername
Tags: books, library, catalogue, reading, shortcode
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Manage a catalogue of books with genres, details, a shortcode and a block.
== Description ==
GDC Books adds a Book post type with genres, ISBN and page fields,
a [gdc_books] shortcode, a Book List block and a REST API.
== Installation ==
1. Upload the plugin, or install it from Plugins → Add New.
2. Activate it. Books appear in the admin menu.
== Frequently Asked Questions ==
= Does it work with any theme? =
Yes. Books use your theme's single and archive templates.
== Changelog ==
= 1.0.0 =
* First release.The directory builds your plugin page entirely from this file. Stable tag tells it which released version to offer users, and Tested up to must be kept current — plugins not tested with recent versions show a warning to users.
Use semantic versioning: MAJOR.MINOR.PATCH. Bump PATCH for fixes, MINOR for new features, MAJOR for breaking changes. Every release must update the version in three places, or updates misbehave:
Version header in gdc-books.php.GDC_BOOKS_VERSION constant.Stable tag in readme.txt.error_log() probes.trunk/, tags/ and assets/ folders.trunk/, copy it again into tags/1.0.0/, and commit. The Stable tag points users at the tagged copy.svn checkout https://plugins.svn.wordpress.org/gdc-books gdc-books-svn
cd gdc-books-svn
# Copy the release files into trunk/, then tag it.
svn add --force trunk
svn cp trunk tags/1.0.0
svn commit -m "Release 1.0.0"File (in assets/) | Size | Shown as |
|---|---|---|
banner-772x250.png | 772 × 250 | Plugin page header |
banner-1544x500.png | 1544 × 500 | High-DPI header |
icon-128x128.png | 128 × 128 | Search results icon |
icon-256x256.png | 256 × 256 | High-DPI icon |
screenshot-1.png … | Any | Screenshots, captioned in readme.txt |
You have built a complete, extensible plugin: post types, taxonomies, meta boxes, settings, shortcodes, AJAX, REST, custom tables, scheduled tasks, a widget and a block. Pair it with the WordPress Theme Development path to build the templates that display everything your plugin manages.
readme.txt for GDC Books and validate it with the official readme validator.In accordance with Section 6 & Section 7 of the DPDP Act 2023, third-party analytics and marketing trackers are strictly gated behind your affirmative consent. You may withdraw consent at any time under Section 6(4).
Essential for session authentication (ci_session), Cross-Site Request Forgery security (csrf_cookie_name), and Cloudflare DDoS/bot prevention. Cannot be disabled.
Gated under DPDP Section 7. Allows Google Analytics 4 (Google Consent Mode v2) to measure aggregate, anonymized tool usage.
Enables browser local storage to preserve your theme selection (dark/light mode) and code editor layout between visits.
Used to display developer sponsorships and native tool partner notices.