In this lab, you and I are going to finish the footer module by bringing in the media queries, refactoring, and assigning new variables. Why don’t you try to finish this module on your own using the strategies that you learned so far? Then watch these videos to see how Tonya thinks about refactoring.
Labs
Labs are hands-on coding projects that you build along with Tonya as she explains the code, concepts, and thought processes behind it. You can use the labs to further your code knowledge or to use right in your projects. Each lab ties into the Docx to ensure you have the information you need.
Each lab is designed to further your understanding and mastery of code. You learn more about how to think about its construction, quality, maintainability, programmatic and logical thought, and problem-solving. While you may be building a specific thing, Tonya presents the why of it to make it adaptable far beyond that specific implementation, thereby giving you the means to make it your own, in any context.
Test & Wrap it Up
First, you and I will finish the migration of the Customizer CSS file, as I failed to finish it in the video. Then we’ll activate and test your new modular WordPress Genesis developer’s starter theme. Congratulations! You just migrated over all the PHP files from the starter theme and loaded it into your new modular architecture. WooHoo! Way to go!
Unregister Default Genesis Callbacks
NOTE: There is currently NO VIDEO for this episode. At this point, you have the child theme loading before the Genesis framework. When you need to unregister default callbacks, nothing is going to happen. Why? Because Genesis has not loaded yet. Therefore, the callbacks are not registered in the WordPress event registry table. They get registered when Genesis runs add_action or add_filter. You need to make a change then to adjust the theme.
Part 1 – Introduction to Modularity – Developer’s Genesis Starter Child Theme
The de facto for theme files is to put the bulk of the customization into the functions.php file. That strategy makes customization less readable and maintainable. Building software packages, including themes, into modules, means you are splitting up the functionality into purposeful, single responsible files and packages. In this lab, you will learn about modularity, which is one of the keys to the clean, quality coding practice. Then you will take the Sample theme PHP files and convert those over into a modular architecture.
Autoload Modules
Up to this point, you have been building the modules and files for your theme. Now it’s time to load each of the files within these modules. In this episode, you will walk through the de facto practice of repeating include() to get all of the files included. Then you and I will start refactoring out the redundancies while you learn about the why of it. Let’s get all the files loaded into your theme. As mentioned in the video, you will be setting a default using the PHP ternary operator. If you need to brush up on how this […]
Theme Settings Defaults
StudioPress includes a file called lib/theme-defaults.php. This file sets the default theme settings which are found in Genesis > Theme Settings. In this episode, you will refactor the redundancies and then add these into the setup of your new theme.
Push the Theme to GitHub
Have you been pushing your theme to a version control service such as GitHub, GitLab, or Bitbucket? You should be. As you complete a module, you will want to save those changes and have a record of what changed. The preferred strategy is to put your theme under version control by creating a repository on one of the services and then using Git to document and push your latest work. This episode assumes that you have Git installed on your machine and a repository is already created and synched. All of the services give you instructions on how to do […]
Theme Customizer Files
Next, you need to move the theme customizer files from the Genesis Sample Theme to your new developer’s theme. You’ll start by copying the files into your theme. Then you’ll start refactoring by applying the PHP namespace and removing the prefixing. You’ll give the functions purposeful names so that each tells you specifically what it does, i.e. what the expected behavior is when you call the function. You’ll be reorganizing the helper functions into a helper file. Also, there are some functions embedded within a function, which makes the code less readable. Let’s refactor those and make them their own […]
Header Right Styles
While working on refactoring, we discover that the search form is within the base partial. Hum, but that is a widget. Therefore, it should be a separate partial within the Widgets Module and not in the Header Module. Let’s refactor and create a new partial. Then you’ll finish up the header right styles refactoring. Once you get this episode complete, you will have a completed Header Module.
Title Area Styles Part 2
Now you will continue refactoring by identifying potential variables to remove the hardcoded literals within the partials. Good candidates are colors, font sizes, and dimensions such as width and height.