Зависит от ситуации. Если это что-то, что может быть легко использовано любым (или многими) различными сайтами независимо от темы, я делаю плагин.
Если это что-то конкретное только для этого конкретного сайта, я, вероятно, поместил бы это в файл functions.php дочерней темы. Даже если это относится только к одному конкретному сайту, я мог бы сделать его плагином, если я захочу включить и выключить его позже.
Кроме того, что вы можете включать и выключать плагины, между кодом в плагине и кодом в functions.php есть небольшая разница.
Если это что-то, что легче всего закодировать прямо в теме (например, конкретная перестановка the_loop), тогда, конечно, просто сделайте это в шаблоне темы и поместите вспомогательный код в functions.php