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.