Become a WordPress Developer: Unlocking Power With Code

Become a WordPress Developer: Unlocking Power With Code

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 35h 31m | 14.0 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

First Coding Steps PHP
5 A Note About URLs My Address Bar
6 Creating a New Theme
7 PHP Functions
8 PHP Arrays

WordPress Specific PHP
9 The Famous Loop in WordPress
10 Header & Footer
11 Optional If You Want To Skip To One of The Final Chapters In The Course
12 Convert Static HTML Template into WordPress (Part 1)
13 Convert Static HTML Template into WordPress (Part 2)

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
20 Navigation Menus (Continued)

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

Events Post Type
26 Custom Post Types
27 Using The Modern Block Editor For Our Custom Post Type
28 Displaying Custom Post Types
29 Quick Timeout Misc Updates
30 Custom Fields
31 A Note About the WordPress Post Edit Screen
32 Ordering (Sorting) Custom Queries
33 Manipulating Default URL Based Queries
34 Past Events Page (Custom Query Pagination)

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

Professors Post Type
38 Quick Note About The Next Lesson
39 Professors Post Type
40 Featured Image (Post Thumbnail)
41 Featured Image Sizes & Cropping
42 Page Banner Dynamic Background Image

Cleaner Code (Less Duplication)
43 Reduce Duplicate Code – Create Our Own Function
44 Quick Fix For Page Banner Function
45 Using Our pageBanner Function
46 Reduce Duplication – get template part()

JavaScript Preparation
47 Getting Our Computer & Project Ready for JavaScript
48 Important Note About The Next Lesson
49 Optional The Finished Product Of This Course All In One Import File

Campus Post Type
50 Note About Google Maps JavaScript API
51 Campus Post Type
52 Campus Map on Front-End
53 Campuses Continued
54 Final Campus Details

Live Search (UI JavaScript)
55 Live Search
56 Quick Note About The Next Lesson
57 Open and Close Search Overlay
58 Preventing the Text Field Suggestions Pop-up
59 Keyboard Events in JavaScript
60 Managing Time in JavaScript
61 Waiting Loading Spinner Icon

62 Quick Note About The Next Lesson
63 Load WP Content with JS
64 Generate HTML Based on JSON
65 Conditional Logic Within Template Literal
66 Quick Misc Edits
67 Synchronous vs Asynchronous (Part 1)
68 Synchronous vs Asynchronous (Part 2)

Customizing the REST API
69 REST API Add New Custom Field
70 REST API Add New Custom Route (URL)
71 Create Your Own Raw JSON Data
72 WP Query and Keyword Searching
73 Working With Multiple Post Types

Combining Front-End & Back-End
74 Column Layout for Search Overlay
75 Custom Layout & JSON based on Post Type
76 Quick Note About The Next Lesson
77 Search Logic That’s Aware of Relationships
78 Search Logic That’s Aware of Relationships (Part 2)
79 Completing Our Search Overlay
80 jQuery Free Live Search

Non-JS Fallback Traditional Search
81 Traditional WordPress Searching
82 Traditional WordPress Searching (Part 2)

User Roles and Permissions
83 User Roles and Permissions
84 Open Registration
85 Open Registration (Part 2)

User Generated Content
86 My Notes Feature
87 My Notes Front-end Part 1
88 My Notes Front-end Part 2
89 Quick Note About The Next Lesson
90 Delete Posts with the REST API
91 Edit Update Posts with the REST API
92 Creating New Notes
93 Creating New Notes (Part 2)
94 Note Permissions and Security (Part 1)
95 Note Permissions and Security (Part 2)
96 Per-User Post Limit
97 Quick Note About CSS
98 jQuery Free My Notes

Like or Heart Count for Professors
99 Let Users Like Content (Part 1)
100 Let Users Like Content (Part 2)
101 Creating Custom POST and DELETE Endpoints
102 Programmatically Create a Post
103 Enforce Limit of One Like Per User Teacher Combo
104 Completing the LikeBox
105 jQuery Free LikeBox

Going Live Deploying Our WordPress Site
106 Going Live with Our Website
107 A Note About Google Maps and Our Live Site
108 Path A (Simple and Quick)
109 Path B (Advanced Manually Moving a Site)
110 Database Config for Two Site Environments
111 Ignoring Certain Files with Git
112 Automatic Git Deployments to Web Host

Extra Credit Challenges & Topics
113 Challenge Make Homepage Slideshow Dynamic

Plugin Development PHP
114 Introduction to Plugin Development
115 Let’s Create Our First Plugin
116 Adding a Settings Page For Our Plugin
117 Settings API (Saving Settings Data)
118 Finishing Our Settings Form
119 Actually Counting the Words, Characters, and Read Time
120 Translations Localization (For PHP)
121 Admin Sub-Menu
122 Custom Admin Menu Icon
123 Alternative Manually Handling Admin Form Submit
124 Finishing Word Filter Plugin

Plugin Development Blocks, Gutenberg & React
125 Introduction to JavaScript Plugin Development
126 Introduction to JSX
127 Block Type Attributes
128 Let’s Discuss the Output of Our Block (Part 1)
129 Let’s Discuss the Output of Our Block (Part 2)

Plugin Multiple Choice Block Type (React)
130 Starting Our Multiple Choice Block Type
131 Styling Our Block
132 Event Handling & Updating Block Attributes
133 Focus New Field For Immediate Typing
134 Setting Up The Correct Answer
135 How To Use React on The Front-End of WordPress
136 Passing Block Data From PHP Into JavaScript React
137 Letting Users Click On (Guess) An Answer
138 Attention To Detail
139 A Note About Animations Transitions in React
140 Let Admin Choose Background Color of Block
141 Block Text Alignment & Block Preview

Plugin Featured Professor
142 Starting Our Featured Professor Plugin
143 Loading a List of Professors
144 Displaying Professor Info
145 Professor Preview In Editor (Part 1)
146 Professor Preview In Editor (Part 2)
147 Control Post Meta With Block Type
148 Add Related Posts to Professor Detail Page
149 Translations Localization (For JavaScript)

Plugin Development Custom SQL Database Table
150 Understanding The Pros and Cons of the Post Paradigm
151 Creating Our Own Custom Table
152 Querying Our Table
153 Building Dynamic Queries (Part 1)
154 Quick Note About PHP Arrays
155 Building Dynamic Queries (Part 2)
156 Create Pet From Front-End
157 Delete Pet From Front-End

Final Chapter
158 Challenge Have an Update Plan in Place (Security)
159 Challenge Query Vars
160 Finale JavaScript Next Steps
161 Bonus Lecture