When customizing a WordPress theme, a common request is for changes to specific elements. These can range from modifying a heading font to where a specific item is displayed on the webpage. Some requests are easier to fulfill than others. Why?
At the foundation of a WordPress site you have the core. This is PHP code that helps to organize, store, and retrieve content that stored in the database. The next layer is the theme, consisting of both PHP that requests content from the database and a mix of Javascript and CSS to display that content. If a child theme is being used (and I recommend it), it requests a small subset of its own content and display instructions, everything else is set by the parent theme. Finally, there’s plugins which further extend both content and display instructions.
Where should you make stylistic changes?
As with everything, it depends.
I don’t recommend modifying plugin files. When the next update to that plugin appears, you’d need to merge your edits with the updated files.
It’s safer to modify child theme files, and make plugin changes via a functions.php file, but that’s not a guarantee of protection against updates either. When you change themes, it means that those customizations may need to be worked into the new theme.
What other options are available? You could create a custom plugin with the site’s unique modifications. While it is a solution, it requires comfort with reading documentation and creating your own plugin.
The most straightforward type of change is for how the site looks: modifying CSS is not complicated. However, there are often layers of css that need to be referenced to make a specific change and it may take some sleuthing to discover. The easiest way to figure this out is to use the developer tools included with modern web browsers (chrome & Firefox). Inspect an element and see where it leads…
Now that you know, should you modify that original css file?
Once again, it depends. If you’ve created a custom child theme, it’s better to make specific style changes there.
However, that’s not always possible. Don’t be afraid to use the theme customizer (Additional CSS)! As always backup, backup, backup!