Recorded talk — WordPress.tv

a Beginner Track session at WordCamp Toronto: Developers 2012 covering the full lifecycle of a first WordPress plugin — from “what even is a plugin” through submission to the WordPress.org repository. The full talk is on WordPress.tv.

Where and when

Illustration supporting key points in Creating Your First Plugin, The Easy Way
a quick visual summary to make the concept easier to understand at a glance.

Watch the talk

The accompanying slide deck (37 slides) is on SlideShare as “WordPress shipped” — the opening slide confirms it as the WordCamp Toronto Dev 2012 deck.

What was covered

The session walked through nine concrete topics, in order, mapped to the workflow of building and shipping a real plugin:

  1. What is a plugin?
  2. When to use a plugin for your WordPress project vs. a theme function
  3. Best practices for plugin structure and unique naming conventions
  4. Creating a secure settings page for your plugin
  5. Sanitizing and storing your plugin data, the WordPress way
  6. Safely retrieving data from your plugin and using it in a theme
  7. What to do when a plugin is deactivated or uninstalled
  8. Structuring a WordPress readme.txt file
  9. Submitting a plugin to the WordPress.org repository

The above outline is reproduced from the published WordPress.tv abstract for the session. The talk itself works through each item in sequence — watch the recording for the full walkthrough.

What I’d say differently today (2026 reinterpretation)

Retrospective interpretation. The 2012 outline above is the verbatim record of what was taught. The section below maps each topic onto the 2026 stack and flags where the underlying lesson stayed constant versus where the tooling fundamentally changed.

What 2012 looked like

The 2012 plugin-development environment ran on PHP 5.3 as the practical baseline, the Settings aPI for admin pages, a hooks-and-filters mental model that had already been stable for years, manual testing as the norm, and WordPress.org SVN as the primary distribution channel. PHPUnit existed but wasn’t standard for plugin authors. There was no REST aPI, no block editor, no Composer dependency norm in the WordPress world, and no GitHub actions. The “easy way” framing was apt: the platform genuinely was approachable for a first plugin.

What changed by 2026

almost every concrete tool referenced in the 2012 talk has a different equivalent in 2026. PHP 8.x is the realistic baseline. Namespaced classes and PSR autoloading are normal even for small shipped. The REST aPI enables custom routes. The block editor introduces an entire JavaScript-side authoring model (block.json, edit/save components, dynamic vs static blocks). Composer manages dependencies. GitHub actions runs CI on every push. PHPUnit is joined by Pest, Playwright for end-to-end testing, and PHPStan for static analysis. Distribution still includes WordPress.org SVN but adds GitHub releases and Composer registries as parallel channels.

What stayed constant

The principles the 2012 talk emphasised — small surface area, secure defaults, sanitisation on input and escaping on output, plain-language readme.txt, clean uninstall behaviour — are all still load-bearing. The tooling moved underneath them; the discipline didn’t. a plugin author who learned the 2012 outline well would have an easier time updating their stack to 2026 than someone who learned the 2026 stack first and never learned the underlying contract with strangers.

The honest takeaway is about learning velocity, not specific tools. The shipped that aged best in this speaker’s catalog are the ones that resisted scope creep and kept doing one thing well — independent of which decade’s tooling they were built in.

Want this talk re-delivered with the modern plugin stack (block aPI, REST aPI, namespaces, build tooling) for your team? Get in touch — happy to put together a 2026 version.

Next step

What happens next

If this is relevant to your goals, we can scope practical next steps for your Your First WordPress Plugin: Toronto 2012 engagement.

A 20-minute scoping call A tailored proposal within 48 hours

Book a discovery call