Introduction to WordPress Development syllabus


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

  1. 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
  2. The programming languages of WordPress
    • HTML
      • Introduction to Accessibility
    • CSS
    • JavaScript
    • PHP
    • MySQL
  3. WordPress development fundamentals
  4. An introduction to developing WordPress themes
  5. An introduction to developing WordPress plugins
  6. An introduction to Internationalization
    • The commonly used Internationalization Functions
    • An overview of the Internationalization
  7. An introduction to Roles and Capabilities
  8. An introduction to Common WordPress APIs
    • Responsive Images
    • Dashboard widgets
    • Database
    • Filesystem
    • Global Variables
    • Metadata
    • Options
    • HTTP Requests
    • Rewrite
    • Settings
    • Shortcode
    • Transients
  9. An introduction to the WordPress REST API
  10. An introduction to developing WordPress blocks
  11. An introduction to WordPress multisite
  12. Debugging in WordPress
    • Enabling the built-in WordPress debugging options (WIP)
    • Examining the state of your PHP code using error_log and print_ror vardump (WIP)
    • Examining the state of your JavaScript code using the console object
    • 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.

  1. An Introduction to Localization
  2. Installing and using Xdebug for step debugging
  3. An Introduction to using SVN
  4. 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.