Register Taxonomy earlier so it can be used in functions.php and admin-ajax.php

So, thanks to G. M.’s help I was able to debug the problem more efficiently, now that I knew init was indeed not being called. I started stripping out all extraneous functions from my functions.php file and I realized I called do_action twice, as I have many functions run through admin-ajax.php. The do_action calls must only be used once! Odd how the bug presented itself!

$action = isset($_POST['action']) ? $_POST['action'] : null;

//These functions take an ajax call and then call the appropriate PHP function
// this hook is fired if the current viewer is not logged in
do_action( 'wp_ajax_nopriv_' . $action );
do_action( 'wp_ajax_' . $action );