Earlier this month I posted a proposal for an Introduction to WordPress Development syllabus and asked the community for feedback.
A note on naming. When I shared the proposal post, I used the term learning path to describe the list of topics being gathered. During the feedback process, I realized that this name was incorrect and that what I was proposing is in fact better described as a syllabus (from the Late Latin syllabus meaning “list”) of topics that should be covered at the beginner level. I have therefore adjusted the name of the list for this post.
Thanks to all the great feedback on the contents of this proposed syllabus, I am able to update this list to include all the topics relevant to the beginner WordPress developer. At the same time, I have linked any existing Learn WordPress tutorials I am aware of, or any tutorials that are in progress, that fulfill specific items in this list.
Tutorials still in progress are included after the topic as indicated by (WIP).
Introduction to WordPress Development syllabus
- A brief overview of how WordPress works
- An introduction to how a web server works with WordPress
- The WordPress file system
- Creating basic things like posts, pages, and users, and changing settings
- Permalinks, and how they work with the rewrite module on both Apache and Nginx
- How a dashboard page request loads
- How a front-end page request loads
- The programming languages of WordPress
- HTML
- Introduction to Accessibility
- CSS
- JavaScript
- PHP
- MySQL
- HTML
- WordPress development fundamentals
- Setting up a local development environment
- Action Hooks and Filter Hooks
- The WordPress database
- WordPress coding standards
- Enabling the debug.log
- An introduction to developing WordPress themes
- Classic themes vs block themes
- Theme requirements
- Templates and template parts
- The WordPress Template Hierarchy
- Classic themes – Template tags and conditional tags
- Block themes – patterns
- Block themes – theme.json
- Enqueuing CSS and JavaScript
- Custom functions
- An introduction to developing WordPress plugins
- Plugin requirements
- Creating custom post types and taxonomies
- Using post meta
- Enqueuing CSS and JavaScript
- Introduction to developing plugins securely
- Preventing common vulnerabilities
- An introduction to Internationalization
- The commonly used Internationalization Functions
- An overview of the Internationalization
- An introduction to Roles and Capabilities
- An introduction to Common WordPress APIs
- Responsive Images
- Dashboard widgets
- Database
- Filesystem
- Global Variables
- Metadata
- Options
- HTTP Requests
- Rewrite
- Settings
- Shortcode
- Transients
- An introduction to the WordPress REST API
- The WordPress REST API under the hood
- an overview of how the REST API works, detail about design decisions
- Interacting with the WordPress REST API
- Extending the WordPress REST API
- The WordPress REST API under the hood
- An introduction to developing WordPress blocks
- An introduction to React
- Using JSX vs vanilla JavaScript
- Setting up the block development requirements
- Building your first simple block
- An introduction to WordPress multisite
- Setting up a Multisite network
- Managing a Multisite network
- Advanced Multisite Management
- Building plugins and themes that support multisite (WIP)
- The differences between developing for multisite vs single site (WIP)
- Debugging in WordPress
- Enabling the built-in WordPress debugging options (WIP)
- Examining the state of your PHP code using
error_logandprint_rorvardump(WIP) - Examining the state of your JavaScript code using the
consoleobject - Popular debugging plugins (WIP)
- https://wordpress.org/plugins/debug-bar/
- https://wordpress.org/plugins/query-monitor/
Introduction to WordPress Development addendum
In addition to this list, the following topics were suggested for inclusion, but a consensus was not reached as to whether they should be included at the beginner level or intermediate level. Therefore I am including them in this post as an addendum.
- An Introduction to Localization
- Installing and using Xdebug for step debugging
- An Introduction to using SVN
- An introduction to using WP-CLI (WIP)
Help needed to complete this syllabus
Are you aware of any tutorials on Learn WordPress or tutorials currently being created that will fulfill any of the topics in this syllabus? If so, please share it in the comments, and I will update the list.
Are you a content creator who can assist with creating tutorials for any of the available topics on this list? If so, please read the Training Team handbook section on Tutorials and consider joining the Training Team by applying to be a tutorial presenter.
Are you an existing tutorial presenter, who is looking for developer-focused topics and ideas to create? Pick any unlinked item from this, create a new tracking issue for it, assign yourself, and work your magic.
This post will remain open for comments indefinitely until a tutorial exists for every item on this list. If you have any questions about creating tutorial content for Learn WordPress, or you just need to bounce a few ideas or questions off someone else, please feel free to message me in the WordPress Slack.