Как грамотно сменить тему сайта на WP, если в старой теме много самописного функционала?
Вот вы и столкнулись с советами грамотеев "код, вместо плагина". Всё когда в functions.php запихивали и когда напрямую в шаблон ставили - думали сайт от этого быстрей работать будет? Это называется экономия на спичках.
А теперь как работать - поставить на тестовый домен новую тему и переносить функционал старого сайта но уже превратив код в маленькие плагины. Решает код одну задачу - вот вам новый плагин. И так пошагово переносить весь функционал. Пользуйтесь условными тегами ВП. Используйте функционал хуков. В шаблоне темы просто вызывайте функцию, например как это советует один звездный плагин: <?php if(function_exists('the_ratings')) { the_ratings(); } ?>
Вот тогда у вас будут мухи отделены от котлет
Если хорошо разбираетесь в WP, то советовал бы перенести все в кокой-то ваш плагин. Если же нет, то просто перенесите функционал натянув новый шаблон, думаю труда это много не составит. 
Перед этим всем я бы советовал все обновить и проверить работоспособность (надеюсь ядро не трогали же?). 
После запретить WP и плагинам  обновляться самому.