Multisite and custom taxonomy… quid ?

In multisite context and WordPress version 4.2.2, with this function in blog_id #3:

switch_to_blog( 2 );

have we really switched in blog_id #2 to fire a query (new WP_Query ( $query ) ;) including a custom taxonomy here (‘domain’) ?

// extract of the query
'tax_query'   => array(
'relation' => 'AND',
	array(
	'field'    => 'term_id',
		'taxonomy' => 'category',
		'terms'    => array ('publication', 'evenement'),
		'operator' => 'IN'
	),
array(
	'field'    => 'slug',
	'taxonomy' => 'domain',
	'terms'    =>  array( 'aerien', 'sous-marin'),
	'operator' => 'IN'
	)
)

In fact NO, because interpreting $query needs the taxonomy to be declared in blog_id #3 where this code is.
A workaround ?
The plugin registering this new taxonomy must not be ‘network activated’ but one by one in #2 and #3 and in properties of this taxonomy, define where the taxonomy must be visible (here #2)
'show_ui' => ($current_blog->blog_id == 2 ) ? true :false,

With this workaround, the deficiency of switch_to_blog( 2 ); is “fixed” and it now possible to display with a custom function (including complex query) in theme of website #3 a list of posts coming from #2.

Multisite et taxonomie nouvelle ajoutée… quid ?

Dans WordPress multisite (network) – version 4.2.2 – avec la fonction dans le site n°3

switch_to_blog( 2 );

a-t-on vraiment basculé vers l’autre site n°2 pour lancer une requête (new WP_Query ( $query ) ;) incluant une nouvelle taxonomie (ici ‘domain’) ?

// extrait
'tax_query'   => array(
'relation' => 'AND',
	array(
	'field'    => 'term_id',
		'taxonomy' => 'category',
		'terms'    => array ('publication', 'evenement'),
		'operator' => 'IN'
	),
array(
	'field'    => 'slug',
	'taxonomy' => 'domain',
	'terms'    =>  array( 'aerien', 'sous-marin'),
	'operator' => 'IN'
	)
)

en fait, non, car la construction de $query a besoin de la déclaration de la taxonomie dans le site n°3 où est le code.
Comment s’en sortir ?
Il ne faut pas activer ‘en réseau’ l’extension qui déclare cette nouvelle taxonomie mais site par site et dans l’extension (qui crée la taxonomie) il faut prévoir de masquer celle-ci dans les sites où elle n’est pas utile
'show_ui' => ($current_blog->blog_id == 2 ) ? true :false,

En procédant de la sorte, on corrige les carences de switch_to_blog( 2 ); et il est donc possible sur le site n°3 d’afficher des listes résultant de requêtes complexes sur les données du site n°2.