If you have problems getting data from another blog, polyfixes like temporarily registering taxonomies, etc. are a real pita in the long term. You can't really rely on that workarounds, since such workarounds mimic internal wp infrastructure that changes over time. **Best practice imho** would be to register a rest api endpoint (https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/) or an xmlrpc endpoint (https://codex.wordpress.org/XML-RPC_Extending). The endpoint fetches all data you need and returns it as json. So you always have a clean local context of the blog queried and don't have to struggle with missing infrastructure. Would be something like this in the source blog: add_action( 'rest_api_init', function () { register_rest_route('your-namespace', '/get-terms/(?P<taxonomy>\d+)', array( 'methods' => 'GET', 'callback' => function($data) { $taxonomy_slug = $data['taxonomy']; return get_terms($taxonomy_slug, array('hide_empty' => false)); }, ); } ); And something like that in the requesting blog: $api_request = 'http://the.domain.of.your.blog/wp-json/your-namespace/get-terms/slug-of-taxonomy'; $api_response = wp_remote_get($api_request); $taxonomy_terms = json_decode(wp_remote_retrieve_body($api_response), true); Hope, that helps and best regards from Salzburg!