Free Course Image Build a WordPress Theme from Scratch: Beginner to Advanced

Free online courseBuild a WordPress Theme from Scratch: Beginner to Advanced

Duration of the online course: 8 hours and 8 minutes

New

Free course to build a WordPress theme from scratch with templates, menus, widgets, Customizer API, sliders, and post features for real sites.

In this free course, learn about

  • Theme Foundations and Core Files
  • The Loop, Templates, and Front-End Assets
  • Branding and Navigation
  • Widgets and Custom Queries
  • Customizer and Slider Configuration

Course Description

Learn how to build a WordPress theme from scratch in this free web development course designed to take you from the basics to more advanced, real-world theme features. You will move from an initial setup and required theme files to creating layouts that display posts correctly and look great with custom styling.

As you progress, you will work on core theme building blocks such as the home page and single post templates, post thumbnails, pagination, and handling missing pages with a 404 experience. You will also add practical enhancements like a custom logo, navigation menus with styling, and dropdown behavior for a polished site header.

The course also explores extending WordPress with widget areas and custom widgets, including registration, display, and title handling. To make the theme more flexible, you will use the Customizer API to manage visual settings such as images and slider behavior, helping you create a theme that can be adjusted without touching code. Ideal for beginners who want a complete, hands-on path to building a functional WordPress theme.

Course content

  • Video class: #01 Wordpress theme from scratch | Intro | Quick programming beginner tutorial 17m
  • Exercise: What is the main purpose of a WordPress theme?
  • Video class: #02 Wordpress theme from scratch | Action - 21m
  • Exercise: In WordPress development, what is the main purpose of using hooks?
  • Video class: #03 Wordpress theme from scratch | Required theme files | Quick programming beginner tutorial 17m
  • Exercise: What are the minimum files required inside a new WordPress theme folder for the theme to appear and be usable?
  • Video class: #04 Wordpress theme from scratch | Displaying posts | Quick programming beginner tutorial 19m
  • Exercise: When displaying multiple posts on a WordPress theme index page, which function must be called inside the while loop to prevent an infinite loop?
  • Video class: #05 Wordpress theme from scratch | Adding CSS - 11m
  • Exercise: Which parameter in wp_enqueue_script() determines whether a script loads in the footer instead of the header?
  • Video class: #06 Wordpress theme from scratch | Image slider - 09m
  • Exercise: In a WordPress theme search form, which input name is required so WordPress can process the search query?
  • Video class: #07 Wordpress theme from scratch | Home page posts | Quick programming beginner tutorial 08m
  • Exercise: How can you include a reusable post card layout inside the main loop on the homepage?
  • Video class: #08 Wordpress theme from scratch | Post thumbnails | Quick programming beginner tutorial 10m
  • Exercise: How can a theme enable the ability to set a Featured Image for posts in the editor?
  • Video class: #09 Wordpress theme from scratch | Single post view | Quick programming beginner tutorial 14m
  • Video class: #10 Wordpress theme from scratch | Pagination | Quick programming beginner tutorial 26m
  • Exercise: Where is the maximum number of posts shown per blog page configured in WordPress?
  • Video class: #11 Wordpress theme from scratch | handling 404 page not found | Quick programming beginner tutorial 07m
  • Exercise: How do you create a custom Page Not Found page in a WordPress theme?
  • Video class: #12 Wordpress theme from scratch | Custom logo | Quick programming beginner tutorial 15m
  • Exercise: Which WordPress feature must a theme enable to let users upload and change a site logo in the Customizer?
  • Video class: #13 Wordpress theme from scratch | Navigation menus | Quick programming beginner tutorial 15m
  • Exercise: In a WordPress theme, what is the main purpose of registering navigation menus (menu locations) with register_nav_menus()?
  • Video class: #14 Wordpress theme from scratch | Navigation styling | Quick programming beginner tutorial 15m
  • Exercise: How can a dropdown submenu be hidden by default and shown only when hovering over its parent menu item?
  • Video class: #15 Wordpress theme from scratch | Nav walker class | Quick programming beginner tutorial 18m
  • Exercise: What is the main reason to provide a custom walker to wp_nav_menu() when building a Bootstrap-style WordPress navigation?
  • Video class: #16 Wordpress theme from scratch | Nav walker class 2 | Quick programming beginner tutorial 12m
  • Exercise: When adapting a WordPress menu Walker to match Bootstrap navigation, what class should replace the default submenu class on the nested
      ?
    • Video class: #17 Wordpress theme from scratch | Nav dropdowns | Quick programming beginner tutorial 14m
    • Exercise: In a custom WordPress nav walker for Bootstrap, what check is used to add the dropdown class to menu items that contain submenus?
    • Video class: #18 Wordpress theme from scratch | Page view | Quick programming beginner tutorial 08m
    • Video class: #19 Wordpress theme from scratch | Additional post info | Quick programming beginner tutorial 17m
    • Exercise: When building the post meta section, why did trying to echo get_the_category() directly cause an error?
  • Video class: #20 Wordpress theme from scratch | Widget areas | Quick programming beginner tutorial 14m
  • Exercise: When adding widgets to a WordPress theme, what must you do before widgets appear under Appearance → Widgets as usable areas?
  • Video class: #21 Wordpress theme from scratch | Registering widgets | Quick programming beginner tutorial 13m
  • Exercise: Which WordPress function is used in a theme template to output the widgets from a registered sidebar area?
  • Video class: #22 Wordpress theme from scratch | Create a custom widget | Quick programming beginner tutorial 12m
  • Exercise: Where should custom widget code be organized to keep functions.php clean?
  • Video class: #23 Wordpress theme from scratch | Display custom widget | Quick programming beginner tutorial 16m
  • Exercise: How do you create a custom loop to fetch specific posts in WordPress?
  • Video class: #24 Wordpress theme from scratch | Custom widget details | Quick programming beginner tutorial 20m
  • Exercise: When adding a new field (e.g., comment) to a custom WordPress widget, what must you update so the value is saved to the database after refreshing the Widgets page?
  • Video class: #25 Wordpress theme from scratch | Adding post view count | Quick programming beginner tutorial 20m
  • Exercise: Which WordPress table is designed to store extra post data like a view count without adding new columns to wp_posts?
  • Video class: #26 Wordpress theme from scratch | Post views custom query | Quick programming beginner tutorial 11m
  • Exercise: Which WP_Query arguments are used to list posts by highest view count first when views are stored in a custom field named views?
  • Video class: #27 Wordpress theme from scratch | Adding Widget titles | Quick programming beginner tutorial 21m
  • Exercise: How can you stop flexbox from stretching sidebar widget items to match the height of a taller column?
  • Video class: #28 Wordpress theme from scratch | Customizer API | Quick programming beginner tutorial 26m
  • Exercise: In the WordPress Customizer API workflow, what must be created before adding a control for the slider text or images?
  • Video class: #29 Wordpress theme from scratch | Customizer API Images | Quick programming beginner tutorial 21m
  • Exercise: When using the WordPress Customizer cropped image control, what value is stored in the setting and how is it turned into a usable image source?
  • Video class: #30 Wordpress theme from scratch | Customizer slider disable | Quick programming beginner tutorial 07m
  • Exercise: How can a WordPress theme allow users to enable or disable a front-page image slider with one click?
  • Video class: #31 Wordpress theme from scratch | Slider images text | Quick programming beginner tutorial 19m
  • Exercise: When adding editable slider text in the WordPress Customizer, where should you place the default values so they show up correctly?

This free course includes:

8 hours and 8 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at Web Development

Free Ebook + Audiobooks! Learn by listening or reading!

Download the App now to have access to + 5000 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 60 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate