Ready to watch this entire course?
Become a member and get unlimited access to the entire skills library of over 4,900 courses, including more Web and personalized recommendations.Start Your Free Trial Now
- View Offline
- Understanding development environment requirements
- Working with existing WordPress content
- Handling standard pages
- Managing full posts
- Coding a basic template
- Adding a custom sidebar
- Working with WordPress functions
- Inserting PHP code in posts
- Including a recordset
- Outputting data
- Linking to dynamic pages
Skill Level Intermediate
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.