A great thing about theme hooks is their reusability. However, one problem you'll encounter is that theme hook templates lose context when a theme hook is reused. For example, the item_list theme hook whose definition we saw in the previous section has no idea what list it is theming. And this makes it difficult to style differently depending on what that content is. Fortunately, we can provide context to the theme system using a theme hook pattern instead of the original theme hook name, and this pattern looks something like this:
base_theme_hook__some_context
The parts of the pattern are separated with a double underscore, since some theme hooks could be confusing if we were to use a single underscore to delineate the parts of the pattern, and together they are called a theme hook suggestion. However, how does this work?
Client code (the render arrays...