Introduction
From the Training Team Goals for 2022:
Vision
In 2022, the Training Team will empower users to achieve their goals with WordPress through actionable and practical learning experiences that bring the community together.
Last year, @courane01 shared a High-Level Roadmap to Learning WordPress Development and provided some excellent thoughts and visual elements to help describe the pathway to learning WordPress development. That research covered the entire range of WordPress development, from creating posts and pages and designing sites, all the way up to and including contributing to WordPress.
This post serves to gather initial ideas and feedback from the community on what specific programming/technical content should be created for Learn WordPress in order for a WordPress developer who uses no-code tools to learn to use the programming languages and APIs that power WordPress, and extend WordPress beyond what the no-code tools provide.
the_content()
Much of what is required to become a WordPress extender is contained in the WordPress Developer Resources site. At first glance, it might appear that it would be a good idea to cover each of the top-level handbooks on that site.
However, in order to create a logical learning path for a new WordPress extender, it might be worth considering re-categorizing some of this content, based on a predefined learning curve.
register_taxonomy()
This is one proposal, but the most straightforward approach to categorizing this content could be guided by the high-level topics in the official WordPress Developer Resources handbook:
- Fundamentals of WordPress development
- Common WordPress APIs
- Developing WordPress themes
- Developing WordPress plugins
- Developing WordPress blocks
- The WordPress REST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.
- Advanced WordPress development
add_filter( ‘the_content’, ‘wp_learn_content_path’ );
Given the categories above, we could then break down the content to fit into each category The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging., by creating new Learn content based on the existing handbook entries, as well as content for any items that aren’t already covered in the handbooks. At the same time, we can move some of the topics around a bit, to create a more logical help with planning a future roadmap/learning path, as described in the following content outline:
- Fundamentals of WordPress development
- The technology stack
- MySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/.
- PHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php.
- HTML HTML is an acronym for Hyper Text Markup Language. It is a markup language that is used in the development of web pages and websites.
- CSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site.
- JavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.
- React React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.
- Local development environments
- Code editors and IDEs
- Installing WordPress
- wp-config.php
- Coding Standards
- Hooks
- Custom Post Types
- Taxonomies
- Common WordPress APIs
- Developing WordPress themes
- Developing WordPress plugins
- Developing WordPress blocks
- The WordPress REST API
- Advanced WordPress development
- Developer Tools
- Debugging
- WP-CLI
- Unit Testing
- Testing PHP
- Testing JavaScript/e2e testing
- Object Orientated Programming in WordPress
Update: I should point out that this list is not my proposal for a roadmap (i.e. what item should follow from the next), and is more of an overview of the development content we should cover. Eventually, this content can be molded into a roadmap, but that list is definitely not what I would consider the pathway someone should take to learn WordPress development.
wp_insert_comment()
It’s time to share your thoughts on this suggested content outline.
- Do the categories make sense, could they be extended, or streamlined, or improved upon in some way?
- What’s missing, either from the handbooks, other documentation, the High-Level Roadmap to Learning WordPress Development, or any other WordPress development/programming-related resource.
- What doesn’t belong, and could be left out?
- What is not sufficiently detailed, and could be expanded upon. How could it be expanded?
- What needs to move from one category to another?
You are welcome to leave feedback in the comments here or comment on specific sections in this Google Doc, which is a copy of the content outline shared above.
Comments are welcome until Friday, July 15, at which time all feedback will be incorporated, and an updated content outline will be published.
Thanks to @courane01, @annezazu, and @hlashbrooke for reviewing this post.
+make.wordpress.org/core/
+make.wordpress.org/themes/
+make.wordpress.org/plugins/
+make.wordpress.org/docs/
+make.wordpress.org/test/