Undefined functions on the server

Well… I fixed it finally.

I decided to bypass my child theme to try and allow myself to login to the admin system on the server. To do that I went into the database and set both the template and stylesheet options manually to “shapely”. Once in, I used the interface to re-select my child theme and voila, my theme now works.

I looked at the source code for switching theme and the options it changes in the database are template, stylesheet, current_theme and theme_switched.

After a bit of trial and error, I was able to replicate the exact problem by changing the case of the template option. Unfortunately I may never know exactly where or how the discrepancy came about but thank you to @maheshwaghmare as you put me on the right track.