So what is it?
functions.php is a file in your theme’s folder where you can add a bunch of custom code hacks and modifications to your theme.
When to use it
functions.php is a sister file to bp-custom.php which may exist in your sites plugin folder. Both files perform a similar type of service, running snippets of code for a site. There are two primary differences in these files though, bp-custom.php runs from the plugins folder and is therefore independent of your theme so is useful for adding snippets that you require to interact with BP regardless of the theme in use also it runs at a specific point in the loading of BP that allows BP to acknowledge it’s instructions, functions.php on the other hand is tied to a specific theme so code in it is only run for that theme, changing themes means those snippets of code will no longer be run unless transfers to the other theme. Choosing which file you need to place your code in is largely a matter of choice, most bp code may be run from function.php and this file generally exists in theme folders already as it may be running WP functions so running your BP code in this file is the usual option and using suitable hooks to ensure your code runs at specific points in the BP process should allow most BP functions to execute but if those do not work or you want your code modifications to be available to any theme then run your code in bp-custom.php.
Creating your file
If you don’t have a file called functions.php in your theme’s folder, go ahead and create one by creating a blank file with the following:
<?php // hacks and mods will go here ?>
When you encounter a forum thread telling you to put a code snippet in your theme’s functions.php, now you’ll know what to do!