WordPress: я вписываю весь нужный код в functions.php. Правильно ли это?
Говнокод, но да.
Файл functions.php - это просто обычный php-файл, который подключается на определенном этапе работы движка и весь код в нем выполняется. Все кастомизации можно тулить туда. Разумно ли это - другой вопрос, и уже выходит за рамки ответа "да / нет". Если кода много, то стоит задуматься о его организации. По простой логике, функциональность принято делить на отдельные классы, в случае с WP это часто просто отдельные файлы. Я лично предпочитаю в самом functions.php определять только то, что вешается на хук after_setup_theme, а дальше идет просто автолоадер всего остального или инклуды других файлов, которые размещены в theme_dir/inc
Если у вас этот файл превратился в простыню на 10 экранов и приходится его резать на кусочки, как тут некоторые советуют, это первый признак, что что-то пошло не так)))