Learning JavaScript for WordPress via Zac Gordon's JavaScript for WP course has been quite adventure for me.
Like many geeks, I learned most my development skills in bits and pieces. Google was (and always will be) my friend along the way; Googling different functions and examples as I needed them served me well before.
But I never learned the foundational, or core, bits and pieces. I could wrangle some JavaScript as needed, but I wasn’t able to write my own code from scratch. As a self-professed geek, this just wasn’t acceptable!
This course stood out from others as one that would help me fill in the foundation to my JavaScript learning.
Learning JavaScript for WordPress, Deeply
I was looking for something that would help me learn this JavaScript thing deeply, and there’s a reason for that. I have a pretty busy life, and trying to dedicate time to learning new things is wasted effort if I don’t put my all into it.
Life is full of distractions. And I know those distractions can take time away from the concentration I need to learn anything deeply. Like JavaScript. Since I can only devote an hour or two most days to this, I did what I could to make that time as constructive as possible.
I used my own knowledge of my own learning style along with some deep work concepts I’ve been learning about to chisel out time just for learning deeply. This meant immersing myself in learning the course material by spending time every day going through the course, practicing, or reviewing notes.
Know the Kind of Course you’re Getting
Before I decided on Zac’s course, I dabbled in several online courses to see if they offered what I needed in a JavaScript course. I realized I had to put some sort of list together if I didn’t want to just throw money away on courses that didn’t work for me.
So I put a list of practical things I needed to learn JavaScript (or development in general, really). It was a bit harder to find than I anticipated:
- I wanted to learn from someone I was at least familiar with. Someone trusted.
- I had to cover not only my best learning style, but a variety of them, because when I immerse myself in a subject I like having lots of different ways to learn something!
- It needed to be paced in mostly shorter, well-documented steps, with examples and easy-to-understand audio
- It needed to start from the beginning and fill in that foundational knowledge
- While JavaScript is an awesome programming language all its own, I really wanted to learn it the WordPress way
The WordPress Way – Learn it I Will
I work mostly with WordPress-based projects, and WordPress standards are slightly different in some ways from JavaScript and PHP-based standards. Usually these are little differences, like spacing and using Yoda as a guide (really freakin’ awesome!), but sometimes there are bigger issues as you go deeper into the code of a big project.
So I wanted to learn deeply, but also with a bit of an emphasis on WordPress standards and resources as well.
JavaScript for WordPress Course Review – Where I’m at Now
I’ve spent a couple months working through the first part of Zac’s JavaScript for WordPress course in my early morning hours. The steady, daily, learning is helping me learn it more effectively, even if it’s going a little more slowly than I would have liked. (I’m a geek, I live to learn!)
I spend time taking notes, reviewing videos and looking at further resources, and sometimes re-writing my notes (I can’t help it; I have a problem with perfection).
Zac spends time at the end of most sections explaining how you can more deeply learn the material by practicing in the browser and by playing with code yourself. And he usually gives examples of specific things you should try to emulate before continuing on to the next lesson.
The Course Modules:

Each of the four parts of the course include a depth of videos, notes, links to further documentation, and a lot more. As an example, I just finished the first part of the course, except for the full hands-on project.
I’ve spent over 20 hours (closer to 30-40) going through all the modules within this course, reading additional documentation, and hitting up some of my fellow humans for help explaining some topics.
You can see a list of all the modules and submodules available in the first section so far (yeah, it’s a lot! I know!):
1.1 – An Introduction to JavaScript [0:08:02]
- 1.1.01 – How We Use JavaScript Today [2:26]
- 1.1.02 – A JavaScript History Lesson [5:36]
1.2 – JavaScript Language Basics [2:01:35]
- 1.2.01 Part 1 – Writing JavaScript in the Browser [3:36]
- 1.2.01 Part 2 – Writing JavaScript in a Code Editor [5:05]
- 1.2.02 – Statements, Expressions and Keywords [3:58]
- 1.2.03 – Data Types and Variables in JavaScript [3:27]
- 1.2.04 – Data Types – Boolean [1:18]
- 1.2.05 – Data Types – Strings [4:52]
- 1.2.06 – Data Types – Numbers & NaN [7:22]
- 1.2.07 – Data Types – Objects [2:52]
- 1.2.08 – Data Types – Symbols [2:59]
- 1.2.09 – Arrays in JavaScript [14:46]
- 1.2.10 – Strong versus Weak Typing and typeof [2:14]
- 1.2.11 – Operators in JavaScript [11:02]
- 1.2.12 – If Statements in JavaScript [6:20]
- 1.2.13 – If Else and Else If Statements in JavaScript [3:22]
- 1.2.14 – Switch Statements in JavaScript [4:33]
- 1.2.15 – Loops in JavaScript [7:11]
- 1.2.16 – Do While and While Loops [5:34]
- 1.2.17 – When to Use For, Do While and While Loops [1:12]
- 1.2.18 – Break and Continue Statements in JavaScript [2:32]
- 1.2.19 – For In and For Of Loops [3:36]
- 1.2.20 – Introduction to Functions [6:07]
- 1.2.21 – Function Parameters [5:28]
- 1.2.22 – Returning Values from Functions [5:19]
- 1.2.23 – Object Methods in JavaScript [5:50]
1.3 The DOM [4:55:28]
- 1.3.01 – Introduction to the DOM [5:57]
- 1.3.02 – Exploring the DOM in the browser [6:30]
- 1.3.03 – Selecting Nodes in the DOM [9:47]
- 1.3.04 – Traversing the DOM [12:28 – 2 Videos]
- 1.3.05 – Getting and Setting DOM Node Values [15:13 – 2 Videos]
- 1.3.06 – Getting and Setting Attribute Node Values [15:00 – 2 Videos]
- 1.3.07 – Getting and Setting Form Values – Part 1 [42:43 – 5 Videos]
- 1.3.07 – Getting and Setting Form Values – Part 2 [38:29 – 4 Videos]
- 1.3.08 – Styling Nodes in the DOM [32:21 – 4 Videos]
- 1.3.09 – Creating Nodes [13:55 – 2 Videos]
- 1.3.10 – Adding Nodes to the DOM [13:12 – 2 Videos]
- 1.3.11 – Cloning Nodes [21:09 – 3 Videos]
- 1.3.12 – Removing Nodes from the DOM [8:44]
1.4 – Events in JavaScript [2:11:58]
- 1.4.1 – Introduction to DOM Events [41:28]
- 1.4.2 – Inline Events [12:41]
- 1.4.3 – Global Event Handlers [16:31]
- 1.4.4 – Event Listeners [8:28]
- 1.4.5 – Removing Event Listeners [15:14]
- 1.4.6 – Event Propagation – Capturing and Bubbling [20:26]
- 1.4.7 – The Event Object [10:13]
- 1.4.8 – A Look at More Events [5:57]
1.5 – JSON & Local Storage [0:51:02]
- 1.5.1 – An Introduction to JSON [11:42]
- 1.5.2 – JSON and JavaScript [25:03]
- 1.5.3 – Introduction to Local Storage [14:17]