Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
So far in this course, we have mostly focused on page structure and styling. Now it's time to take a closer look at the engine that makes WordPress go, PHP. WordPress is so robust it's easy to forget that it is, top to bottom, just another PHP application. To keep it flexible and extensible, most of WordPress' power comes from an impressive series of functions. In this movie we will look at WordPress' built-in functions, as well as the main pathway for adding custom code.
Let's look at an example taken from our own theme's index.php page. So I will open that up, go into Code view. Notice the very first function call here are on line two, get_header. There are numerous other built-in ones, like have_posts on line five or posts_class in the article tag on line eight, as well as the id, which is used to provide the id for that article tag. To understand more about the built-in functions, let's go to WordPress.org and do a quick search.
So if I click into the Search WordPress.org box and enter in "get_header," click Go, the very first entry in the response will give us all the details that we need to know about it. And this is part of WordPress' function reference. So when I click on it you can see that the page is broken down into a General Description, Usage, Parameters, and Examples. If you're really curious about how a function is coded, go down a little bit further until you find the Source File header and there you will see the path to where the function is located in your WordPress installation.
So you can look it up in Dreamweaver or click on it here. Investigating the functions is almost always rewarding. For example, when I was preparing for this course I looked up the post_class function, which is responsible for inserting pertinent classes into a tag. And under the Parameters I found a way to inject a custom class into a post tag just by passing an argument. I think that's awesome. Built-in functions are great, but they don't always do what you want them to.
And it's not a good idea to customize the built-in functions, for two reasons: first, you may not be sure what other areas you are impacting, and second, because your changes will be overwritten the next time you update WordPress. However, WordPress makes it possible to add custom functionality on the theme level via the cleverly named file functions.php. If you've been following the course linearly, you've already seen us add code to the functions.php file. So let's take a closer look at how it works.
I'll go to the Files panel, locate functions.php, and double-click to open it. The functions.php file in your theme is used to add or modify existing elements like sidebars. Here you can see right up top that the register_sidebar function is used twice for adding two custom sidebars. Notice on line 2 and line 14 that the first step is often to verify that the function in question exists. This is highly recommended, as it will eliminate any function-doesn't-exist errors should a file not load properly.
In this case the new arguments are passed to a built-in function, register_sidebar, to create the custom sidebars. Similar functions exist for registering settings, post types, taxonomies, and widgets, among others. Now that you have seen how to explore the built-in functions and begin to use the functions.php file to customize your own, you're ready to investigate WordPress hooks for actions and filters.
Get unlimited access to all courses for just $25/month.Become a member
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.
Your file was successfully uploaded.