Tutorial
-
Users, roles and capabilities
How roles and capabilities work, checking current_user_can, and adding custom capabilities.
-
Contributing to WordPress core
Find tickets, set up the core development environment, write patches and get them reviewed.
-
Sanitising, validating and escaping
Sanitise input, validate it, and escape output with the right function for each context.
-
Deploying and migrating WordPress safely
Environments, database search and replace, media, configuration per environment and rollbacks.
-
Nonces and CSRF protection in WordPress
What nonces are and are not, adding them to forms, AJAX and REST requests, and verifying them.
-
Your first WordPress plugin
Create a plugin with a header, hook into WordPress and activate it.
-
The database API: $wpdb and prepared queries
Run custom queries with $wpdb->prepare, table prefixes, and when to avoid raw SQL.
-
Plugin structure and best practices
Organise files, prefix everything, guard direct access and keep the main file small.
-
Options and transients
Store settings with the Options API, cache expensive results with transients, and watch autoloaded data.
-
Activation, deactivation and uninstall
Run setup on activation, clean up on deactivation, and remove data on uninstall when users ask for it.
-
WP-CLI for developers
Manage sites, content, plugins and the database from the command line, and write custom commands.
-
Admin menus and pages
Add admin menus and submenus with the right capabilities, and render admin pages.
-
Internationalisation: translating themes and plugins
Make code translatable with __ and friends, text domains, JavaScript translations and translation files.
-
The Settings API
Register settings, sections and fields with sanitisation, so options save securely.
-
Object caching and persistent caches
The object cache API, persistent backends such as Redis, cache groups and invalidation.
-
Page caching, CDNs and cache invalidation
How full-page caches and CDNs serve WordPress, what breaks caching, and purging on updates.
-
WordPress performance: queries, autoload and profiling
Find slow queries and hooks with Query Monitor, trim autoloaded options, and fix common bottlenecks.
-
Hardening a WordPress site
Updates, least-privilege users, file permissions, security headers and what security plugins can and cannot do.
-
WordPress Multisite
When to use Multisite, network setup, switching sites in code and network-wide plugins.
-
WP-Cron and background processing
How WP-Cron runs, scheduling events, using a real cron, and handling long jobs. Canonical lesson.