WordPress / Learn

WordPress.org Learn - The canonical source for the code and content behind https://learn.WordPress.org
265 stars 93 forks source link

Learning Pathway: Beginner Developer #1984

Closed jonathanbossenger closed 2 months ago

jonathanbossenger commented 10 months ago

Learning Pathway: Beginner Developer

The beginner level can be defined as the fundamental knowledge that a new WordPress developer should know, from having no knowledge to being able to develop with and extend WordPress.

Once completed, the developer can move onto one of the following learning pathways:

See the full Developer pathway outlined in this document.

To learn more about creating content for these lessons, please read the Guidelines for creating, reviewing, and publishing lessons.

This course has 56 lessons over 12 modules.

56/56 (100%) completed.

https://www.youtube.com/watch?v=nh1qC1la3og&list=PL1pJFUVKQ7ETYqC5F_z4BOJ4FoT7xZy_u

Total watch time: 5 hours, 58 minutes, 25 seconds

Module 1: A brief overview of how WordPress works

Objective: Understand how a web server powers a WordPress site, from the hardware stack through to the database. Review and follow a standard front-end and admin page request.

Lessons

Module 2: Local development requirements

Objective: Identify the different pieces of software needed to develop for WordPress, as well as some additional useful tools for developers.

Module 3: The programming languages of WordPress

Objective: Introduce the 5 programming languages of WordPress, HTML, CSS, JavaScript, PHP, and MySQL covering HTML and Accessibility, HTML Block markup, and React as a JavaScript framework.

Lessons

Module 4: WordPress Hooks

Objective: Understand the WordPress hooks system

Module 5: An introduction to developing WordPress themes

Objective: Introduce the foundational elements of WordPress theme development, with a brief overview of classic themes.

Lessons

Module 6: An introduction to developing WordPress plugins

Objective: Introduce the foundational elements of WordPress plugin development.

Lessons

Module 7: An introduction to developing WordPress blocks

Objective: Introduce the foundational elements of block development for WordPress.

Lessons

Objective: Introduce the WordPress REST API, and how to use it to interact with core WordPress data.

Lessons

Module 9: An introduction to developing for WordPress securely

Objective: Covers the guiding principles of developing plugins and themes securely, with examples of the five most common security problems, and how to avoid them.

Lessons

Module 10: An introduction to Internationalization

Objective: Introduce the concept of internationalizing your WordPress code.

Lessons

Module 11: An introduction to WordPress multisite

Objective: An overview of how to set up and manage a WordPress multisite, as well as how to develop themes and plugins for multisite.

Lessons

Module 12: Debugging in WordPress

Objective: Introduce built in tools and techniques for debugging WordPress plugin or theme code.

Lessons

cynthianorman commented 10 months ago

@jonathanbossenger I would like to work on creating lessons for Module 3: An introduction to developing WordPress themes

jonathanbossenger commented 10 months ago

Thanks @cynthianorman, I have assigned you to this ticket. Feel free to unassign yourself once you have completed those lessons.

jonathanbossenger commented 9 months ago

As of 2023-12-11 I have removed the module on the Common APIs, for two reasons:

a) this list only includes PHP based APIS b) I'm still not convinced this needs an entire module, and perhaps it would make more sense just to link to relevant APIS when they are used inside lessons.

I am adding the list here for reference.

Module xx: An introduction to Common WordPress APIs

Objective: Introduce the most common WordPress APIs, and how to use them.

Lessons

jonathanbossenger commented 8 months ago

Hi @cynthianorman

When you have a moment, I wanted to touch base with you regarding Module 4: An introduction to developing WordPress themes.

I want to make sure that contributors can set their own deadlines, but also be mindful of the fact that we're aiming to launch the new Learn redesign with learning pathways by July 2024.

So I wanted to get an idea from you when you feel like you'll be able to complete the first iteration of that module.

Thanks

cynthianorman commented 8 months ago

Hi @jonathanbossenger . I feel confident that this will change into Feb. I would expect to have the Beginner Developer Module 4 lessons done by end of Feb.

jonathanbossenger commented 8 months ago

Thanks @cynthianorman

Today I was reviewing the learning pathway outline, and I discovered that the lesson on the Create Block Theme plugin was added to the Block Development module, and not the Theme Development module. The objective of this lesson would just be to introduce the learning to the plugin, and it's basic functionality.

I've moved it to the right place, but I wanted to check if you would prefer me to handle this lesson, or if would you be able to squeeze it into your February plans.

I completely understand if you don't have time to add another lesson, and I am happy to create this specific one.

cynthianorman commented 8 months ago

Hi @jonathanbossenger

Thank you for the offer but I'm more than happy to add that lesson. I think cohesiveness within a given module was a great idea you had during our previous talks.

jonathanbossenger commented 8 months ago

Ok, thanks @cynthianorman.

jonathanbossenger commented 7 months ago

Note to contributors, while working on the plugin module today, I realized that we need to cover the concept of hooks earlier on because most plugin and theme development requires an understanding of hooks.

I have therefore moved the hooks module to module 3, and tomorrow I will work on the introductory lesson of that module, as well as reworking the original tutorials on action and filter hooks for the learning pathways.

You can find the original tutorials linked in action and filter hook issues, if you want to get an idea of what will be covered.

jonathanbossenger commented 7 months ago

Noting that #2088 and #2089 have been moved to #2045.

jonathanbossenger commented 6 months ago

Update, moved the Roles and Capabilities module to the Plugin developer pathway.

Added the lesson on enqueuing CSS and JS to the Introduction to plugin development module.

jonathanbossenger commented 6 months ago

@cynthianorman all your introduction to developing WordPress themes videos have been published on YouTube. I've left a comment on each issue, asking for the YouTube chapter markers, so I can add them. (Let me know if you have any questions about that).

You should also have the required access to add the lessons to learn.wordpress.org, so feel free to go ahead and update/publish those lessons, and close the issue once the lesson is published.

cynthianorman commented 6 months ago

@jonathanbossenger sounds good - thank you!

jonathanbossenger commented 6 months ago

@cynthianorman I just wanted to check in to see how it's going with getting the lessons for the An introduction to developing WordPress themes module published on Learn.WordPress.org?

cynthianorman commented 6 months ago

@jonathanbossenger that shouldn't be a problem for me to fit into this month.

jonathanbossenger commented 4 months ago

@cynthianorman I've closed all the issues in module 4 An introduction to developing WordPress themes that are published on Learn.WordPress.org. Once you publish the final two, please go ahead and close those issues as well. Thanks