Become a WordPress Developer: Unlocking Power With Code

Become a WordPress Developer: Unlocking Power With Code
Become a WordPress Developer: Unlocking Power With Code
English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 27 Hours | 16.9 GB

Learn PHP, JavaScript, WordPress theming & the WP REST API to Create Custom & Interactive WordPress Websites

Unlock the full power of WordPress and go beyond “just a blog platform” by learning how to code completely custom WordPress powered sites.

Updated for 2019: A new 3 part lesson on coding our own custom block type for the new “Gutenberg” Block Editor in WordPress.

I’ve spent the last 12 years studying WordPress, PHP, and JavaScript and now I’m here to teach you everything I know. Come along on this journey with me and become a WordPress developer.

Together we will build a website for a fictional university and along the way we will:

  • Install WordPress on your personal computer so you have a private playground copy of WordPress to practice and experiment with
  • Get introduced to the PHP language (this is what powers WordPress)
  • Set Up a New Theme (You’ll learn how to convert any HTML template into a living breathing WordPress theme)
  • Create Custom Post Types and Custom Fields
  • Relate pieces of content with each other (e.g. a professor and a program)
  • Learn the basics of (object-oriented) JavaScript
  • Leverage the WP REST API
  • Learn to use JavaScript to communicate with the WordPress back-end on-the-fly
  • Let visitors sign up for a basic account on our site
  • Build a “My Notes” feature (user specific single page application with real-time CRUD actions)
  • Let users “like” or “heart” a professor (update the professor’s like count on-the-fly)
  • Deploy our website live up onto the web for the entire world to view
  • And much more!

What you’ll learn

  • Why code is the key to building whatever you can imagine with WordPress
  • The ability to write PHP to manipulate the data of a WordPress site
  • The ability to write JavaScript to add on-the-fly interactivity to a WordPress site
  • How to code your own new custom block types for the “Gutenberg” Block Editor
  • The skills, knowledge and vocabulary to work professionally as a WordPress developer
Table of Contents

1 Welcome to the Course!

Getting Started
2 What is a Dev Environment (Your First Installation)
3 If You’re Unable to Install Local by Flywheel
4 First Taste of PHP
5 Note for Local by Flywheel Users

First Coding Steps PHP
6 Creating a New Theme
7 PHP Functions
8 PHP Arrays
9 Quick Note Classic Editor vs Default Editor

WordPress Specific PHP
10 The Famous Loop in WordPress
11 Header & Footer
12 Convert Static HTML Template into WordPress
13 Quick Note Avoiding Caching (CSS & JS) During Dev

14 Interior Page Template
15 Parent & Children Pages
16 To Echo or Not To Echo
17 Menu of Child Page Links
18 A Few Quick Edits Improvements
19 Navigation Menus

Building the Blog Section
20 Blog Listing Page (index.php vs front-page.php)
21 Blog Continued
22 Blog Archives (archive.php)
23 Custom Queries
24 Blog Few Quick Edits & Improvements

Workflow and Automation
25 Note on Gulp
26 Preparing For Automation What is a Command Line
27 Workflow and Automation (Part 1)
28 Tip If Your localhost3000 Loads Very Slowly…
29 Workflow and Automation (Part 2)

Events Post Type
30 Custom Post Types
31 Displaying Custom Post Types
32 Quick Timeout Misc Updates
33 Custom Fields
34 Ordering (Sorting) Custom Queries
35 Manipulating Default URL Based Queries
36 Past Events Page (Custom Query Pagination)

Programs Post Type
37 Creating Relationships Between Content
38 Displaying Relationships (Front-End)
39 Quick Program Edits

Professors Post Type
40 Professors Post Type
41 Featured Image (Post Thumbnail)
42 Featured Image Sizes & Cropping
43 Page Banner Dynamic Background Image

Cleaner Code (Less Duplication)
44 Reduce Duplicate Code – Create Our Own Function
45 Using Our pageBanner Function
46 Reduce Duplication – get template part()

Campus Post Type
47 Campus Post Type
48 Campus Map on Front-End
49 Campuses Continued
50 Final Campus Details

Live Search (UI JavaScript)
51 Live Search
52 Open and Close Search Overlay
53 Keyboard Events in JavaScript
54 Managing Time in JavaScript
55 Waiting Loading Spinner Icon

56 Load WP Content with JS
57 Generate HTML Based on JSON
58 Conditional Logic Within Template Literal
59 Quick Misc Edits
60 Synchronous vs Asynchronous (Part 1)
61 Synchronous vs Asynchronous (Part 2)

Customizing the REST API
62 REST API Add New Custom Field
63 REST API Add New Custom Route (URL)
64 Create Your Own Raw JSON Data
65 WP Query and Keyword Searching
66 Working With Multiple Post Types

Combining Front-End & Back-End
67 Column Layout for Search Overlay
68 Custom Layout & JSON based on Post Type
69 Search Logic That’s Aware of Relationships
70 Search Logic That’s Aware of Relationships (Part 2)
71 Completing Our Search Overlay

Non-JS Fallback Traditional Search
72 Traditional WordPress Searching
73 Traditional WordPress Searching (Part 2)

User Roles and Permissions
74 User Roles and Permissions
75 Open Registration
76 Open Registration (Part 2)

User Generated Content
77 My Notes Feature
78 Per-User Post Limit
79 My Notes Front-end Part 1
80 My Notes Front-end Part 2
81 Delete Posts with the REST API
82 Edit Update Posts with the REST API
83 Creating New Notes
84 Creating New Notes (Part 2)
85 Note Permissions and Security (Part 1)
86 Note Permissions and Security (Part 2)

Like or Heart Count for Professors
87 Let Users Like Content (Part 1)
88 Let Users Like Content (Part 2)
89 Creating Custom POST and DELETE Endpoints
90 Programmatically Create a Post
91 Enforce Limit of One Like Per UserTeacher Combo
92 Completing the LikeBox

Going Live Deploying Our WordPress Site
93 Going Live with Our Website
94 Path A (Simple and Quick)
95 Path B (Advanced Manually Moving a Site)
96 Database Config for Two Site Environments
97 Ignoring Certain Files with Git
98 Automatic Git Deployments to Web Host

Extra Credit Challenges & Topics
99 Challenge Make Homepage Slideshow Dynamic
100 Challenge Create a Basic Plugin

Gutenberg Block Editor Essentials
101 Create a Custom Block Type (Part 1)
102 Create a Custom Block Type (Part 2)
103 Create a Custom Block Type (Part 3)

Extra Credit Challenges & Topics Continued
104 Challenge Have an Update Plan in Place (Security)
105 Challenge Query Vars
106 Finale JavaScript Next Steps

Bonus Debugging & Documentation
107 Fixing .dev Domains

VirtualBox and Vagrant
108 Intro to VirtualBox and Vagrant
109 Our First Site with VirtualBox & Vagrant
110 How to Start & Stop Vagrant
111 Only for Vagrant Users (Installing WordPress)
112 Setting Up New (Multiple) Sites in VagrantVirtualBox