
Explore a 2024 roadmap for WordPress development, from setting up a local dev environment and building classic themes to block themes, plugins, deployment, and interactivity API, with practical hands-on projects.
Learn to code completely custom WordPress websites by building a university site, creating custom post types and fields, and using JavaScript and REST API for live search.
Set up a local WordPress development environment and learn the difference between dev and live environments, then explore WordPress files in WP Content and themes.
Explore how block themes and full site editing reshape WordPress development introduced in 5.9, while grounding skills in PHP and the template hierarchy.
Begin exploring PHP in WordPress by creating a test PHP file in dev environment, using VS Code, and learning how PHP mode outputs HTML with echo and variables on server.
Create a brand new WordPress theme by adding a folder in the wp-content/themes directory, two files (index.php and style.css) with header details, a screenshot, and activate in the admin dashboard.
Learn how to define and call PHP functions, pass arguments, and reuse code, then leverage WordPress built-in functions like bloginfo to display site title and tagline.
Learn how PHP arrays function as collections, access with zero-based indices, and loop with while to output HTML, a pattern WordPress uses to loop content.
Master the famous WordPress loop to display ten most recent posts on the home page using have_posts, the_post, the_title, the_content, and the_permalink; learn template selection with index.php, single.php, and page.php.
Create a global header and footer with header.php and footer.php, pulled into index, single, and page templates via get_header and get_footer, and load CSS with a functions.php file.
Convert a static HTML template into a working WordPress theme by integrating the starter HTML with PHP and JavaScript, beginning with the header containing the logo and navigation.
Convert a static html header and footer into a WordPress theme. Integrate Font Awesome and Google Fonts via the theme's functions.php and assets.
Build an interior page template in a WordPress theme by converting static content to dynamic titles and content in page.php, and enable the title tag with header and footer integration.
Create dynamic parent and child pages in WordPress by updating theme templates and rendering a breadcrumb box that shows the current page title and its parent link.
Explore when to echo versus return in PHP with simple functions like double me and triple me, and apply the get_ versus the_ rule to WordPress functions.
Create a dynamic menu of child page links for the current page using wp list pages and associative arrays, with a dynamic parent header and conditional display.
Learn to make a WordPress theme responsive by adding a viewport meta tag, dynamic language attributes, charset, and body classes with WordPress functions, and prepare for responsive navigation.
Learn to create dynamic WordPress navigation menus controlled from the admin, register header and footer menu locations, and output them in templates with WP_nav_menu.
Use PHP conditionals to add a current menu item class to navigation link. Check slug with is_page and WP get post parent ID to highlight about us and children.
Configure WordPress to use a static front page and a dedicated blog page (index.php vs front-page.php), then build a custom blog listing showing posts, authors, dates, and categories.
Continue building the blog section with pagination and blog home links, and enhance the WordPress single post template with a banner and a meta box for author, date, and category.
Create a dedicated archive.php to render category, author, and date archives in WordPress, using the_archive_title for dynamic titles and archive_description for descriptions, with custom queries upcoming.
Learn how to replace default WordPress queries with custom queries using WP_Query to fetch the two most recent posts on the home page, loop through them, and reset post data.
Update the blog button and header links to use site_url with /blog for accurate navigation, and highlight the active menu item with get_post_type checks.
Discover how to register custom post types in WordPress, label them with names, using events as a practical example, and ensure reliability with must-use plugins that load independently of themes.
Learn to display custom post types on the front end by building a WP query for events, looping through them, and linking to individual and archive pages with proper permalinks.
Discover how to craft handcrafted excerpts for posts and custom post types, toggle excerpt display with conditional PHP, and wire up archive links and navigation highlights.
Master custom fields in WordPress for a custom post type event, including adding an event date with advanced custom fields. Render the front-end date using get_field and PHP formatting.
Learn to order WordPress posts using custom queries by post date, title, random, or a meta value like event date, and filter past events with a meta query.
Learn to tailor WordPress default URL based queries for the events archive by using pre get posts to order by event date and exclude past events with proper pagination.
Learn to build a dedicated past events page in WordPress using a custom WP_Query to fetch event posts dated in the past, with adjustable pagination and navigation highlighting.
Create a new program post type in WordPress, relate programs to events with a relational custom field, and build templates and archive pages to display and navigate related content.
Display related posts on the front end using an acf relationship field, loop through related programs, and output linked titles with permalinks. Make relationships two-way with custom and meta queries.
Master quick edits to the single program template, add a dynamic upcoming events headline, refine the header programs link, and connect the find your major button to the programs archive.
Learn to create a professors post type in WordPress, tailor a single-professor template, and establish bidirectional relationships with programs using custom fields and related professors queries.
Enable and display featured images for a professor post type in WordPress by enabling post thumbnails, then define custom sizes like professor landscape and portrait for a two-column layout.
Learn to use WordPress custom image sizes on the front end with portrait and landscape options. Explore cropping controls and a manual crop plugin, plus how browser caching affects updates.
Make the page banner dynamic by adding a subtitle and a background image via custom fields, register a 1500x350 cropped page banner image size, and apply across posts.
Create a reusable WordPress page banner function to replace duplicated code across post types, enabling dynamic background images and subtitles, and implement intelligent defaults and fallbacks.
Implement a new page banner function across WordPress templates, replacing duplicate page banner code with a single function call that accepts title and subtitle, including dynamic archive titles when needed.
Reduce duplicate code by extracting the event display into a template part and reusing it with get_template_part across home, archives, past events, and program pages.
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 2024: New chapters about The Interactivity API, Block Themes, Full Site Editing, Gutenberg Block Type Creation, Plugin Development, React.js basics, custom MySQL essentials, and more!
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!
This course may be brand new, but this isn’t my first time teaching. I’ve led training sessions for Fortune 500 companies and I’ve already helped over 17,000 people on Udemy and received the following feedback:
"Brad definitely has some of the best techniques to embed the lesson into your mind… hands down these are the best tutorials I have had the opportunity to view."
"Presentation is concise without being tedious… you honestly feel that you have a thorough understanding of the subject."
"…[Brad] explained the process. Not memorize this or that, he explained the process. If you're looking to take a course to understand the foundations of creating websites, look no further."
Become highly valuable and relevant to the companies that are hiring WordPress developers; in one convenient place alongside one instructor. If you're ready to begin coding custom websites - I'll see you on the inside!