WordPress Development Complete Course
Go from PHP basics to building, securing and scaling real WordPress sites.
- Intermediate
- 35 lessons
- 16 hours
Go from PHP basics to building, securing and scaling real WordPress sites.
Turn a working WordPress plugin into a secure, tested, production-quality product.
Manage sites, content, plugins and the database from the command line, and write custom commands.
Add admin menus and submenus with the right capabilities, and render admin pages.
Make code translatable with __ and friends, text domains, JavaScript translations and translation files.
Register settings, sections and fields with sanitisation, so options save securely.
The object cache API, persistent backends such as Redis, cache groups and invalidation.
Register shortcodes with attributes, return output safely, and when a block is better.
How full-page caches and CDNs serve WordPress, what breaks caching, and purging on updates.
Create and upgrade tables with dbDelta, version the schema, and when meta is the wrong store.
Find slow queries and hooks with Query Monitor, trim autoloaded options, and fix common bottlenecks.
Show dismissible notices, follow admin UI conventions and avoid nagging users.
Updates, least-privilege users, file permissions, security headers and what security plugins can and cannot do.
Handle admin-ajax requests with nonces and capability checks, and when the REST API is better.
When to use Multisite, network setup, switching sites in code and network-wide plugins.
Add meta boxes, save post meta with nonces and sanitisation, and register meta for REST.
How WP-Cron runs, scheduling events, using a real cron, and handling long jobs. Canonical lesson.
Run large or delayed work reliably in batches with Action Scheduler, building on WP-Cron.
Use WordPress as a content API for a separate frontend, with REST or GraphQL, previews and trade-offs.
A review checklist for plugins: capabilities, nonces, sanitising, escaping, SQL and file handling.
WP_DEBUG and logging, Query Monitor, debugging hooks and AJAX, and reading fatal error reports.
Add sortable columns to post lists and simple dashboard widgets.