Файл functions.php может быть создан в шаблоне для внесения в него пользовательских функции необходимых для реализации уникальной программной логики. Например, вы хотите в своем шаблоне, сделать дополнительные фильтры для товаров, задать особый порядок сортировки, вывести рекламные баннеры после каждого третьего абзаца в описании товара, изменить title страницы… перечислять можно долго, надеюсь вы поняли, что в этом файле можно сделать все!
Например можно создать пользовательскую функцию userFunc()
И в последствии в любом файле шаблона, наряду с стандартными вставками, иметь возможность вызвать ее следующим способом:
Помимо обычных функций в данном файле можно прописать обработчики различных хуков, инициализируемых движком в ходе работы. В дефолтном шаблоне для примера приведена функция-обработчик хука 'mg_seometa'
Читать подробнее о хуках и обработчиках