Let’s talk about why you want to not intermingle your business logic with the HTML. Why do you use a view? It’s based upon the proven software principles such as Separation of Concerns and Single Responsibility. APIs, frameworks, tools, and apps come and go. But these principles remain. More importantly you will learn about intent. Intent is important in all of the code that you will ever build.
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.
Building the HTML View File
It’s time to build out the HTML structure and put it into the view. What is a view? Why do you want to use it? Let’s talk about the qualities of clean, quality code. You will also learn about how to load the view as well as the variable scope. To learn more about variable scope and including files, go to the PHP Variables Bootcamp.
Prepare the Contents for the Browser
Let’s finish preparing the content for rendering out to the browser. How about if there are shortcodes in the code? How do we process those? How about using auto-formatting the paragraph HTML elements? In this episode, you will add in the do_shortcode and then wpautop.
Sanitize with get_post
Let’s go into WordPress Core to understand if we can use get_post to sanitize fields when in display filter mode. You will reverse engineer Core to discover for yourself. You will use has_filter to see if there is a filter event that does the sanitizing for the data post_content. You’ll also learn about foreach.
Let’s Look in Core at get_post
– Part 2
This episode continues reverse engineering get_post in WordPress Core. Now that you understand the database, or at least have a basic understanding of it and SQL, you will continue looking at get_post. You’ll see how each column in the database populates a property in the object that you get back when calling this function.
Let’s Look in Core at get_post
– Part 1
Let’s go deeper and head into Core to look at get_post. This function is going to either pull the post content from the database or cache. In this episode, you will learn about both and reverse engineer the function to discover when it’s pulling from one or the other. As the function is dealing with the database, it’s time to teach you some SQL. You will play around with the database to see how to pull records. I use Sequel Pro, but you can use phpMyAdmin to do the same exploring of the database. Here are additional resources about PHP […]
Refactor Getting the Posts Page
Let’s refactor how you are getting the posts page object by abstracting it into a separate, reusable function. Then you’ll add in protection to ensure an object is received back from the database before continuing the processing. You will be learning about clean, quality code in this episode too. You will learn about the Falsey Conditional Expression.
How to Ensure It’s Posts Page?
You only want the contents to display (render) on the Posts Page and that’s it. In this episode, you’ll learn how to ensure you are on that page. If no, then return early and stop processing; else continue with the rendering. You will learn about clean, quality code too. You will learn about is_home.
Render (Display) the Contents
Let’s get the contents out of the database and then display (render) it onto the page in the browser. You’ll walk step-by-step through the process. You will learn about get_post.
Genesis Before Loop Event genesis_before_loop
From the previous episodes, you identified genesis_before_loop as the event you need to register your callback in the plugin in order to render out the content into the right spot on the page. Let’s talk about this event. In this episode, you’ll walk through the basic structure of Genesis, looking at the function genesis(). You will also look at the Loop in Genesis in order to gain a general understanding of where this event places your content into the HTML structure.