The frontend of an application is the main interaction point for users and hence the possibility of requesting frontend changes is relatively high. Therefore, it's important to use the existing features of a theme to make templates as flexible as possible. In this chapter, we looked at the importance of a theme and its components in development. Then, we started extending existing themes with the use of child themes, actions, and filters. Next, we had an in-depth overview of the theme template hierarchy in order to build new themes as well as customize existing themes in a flexible way. Finally, we looked at the techniques for conditionally changing the design to cater for advanced site requirements.
In Chapter 4, Building Custom Modules with Plugin Development, we will be looking at the process of building different types of WordPress plugins and adding the features, beyond the functionality of a them.