web-dev-qa-db-fra.com

Comment wordpress sait-il quel site configurer (sur multisite)?

Ok pour le sous-domaine, c'est facile. Je suppose que cela regarde simplement le sous-domaine:

blog5.site.com

=> explode('.', $_SERVER['REQUEST_URI'])...

Mais comment fait-il pour les configurations de sous-répertoires? Cela devrait être intéressant étant donné que les pages, les taxonomies et ce qui ne peut pas prendre la première partie de la partie après le nom de domaine du site.

Comment peut-il faire la distinction entre un blog interne et une page du blog principal? La seule chose à laquelle je puisse penser est la correspondance des bases de données avec la liste complète des blogs. Si cela ne correspond pas au contenu du blog principal, ce serait vraiment stupide, car cela ralentit sérieusement le site ...

4
Ella

Vous pouvez utiliser la fonction get_current_site().

Réf. : http://codex.wordpress.org/WPMU_Functions/get_current_site

2
newpxsn

Votre réponse est dans ms-settings.php, et elle est fondamentalement la même pour les installations de domaine et/ou de sous-répertoire.

$current_site->blog_id = $wpdb->get_var( $wpdb->prepare( "SELECT blog_id FROM $wpdb->blogs WHERE domain = %s AND path = %s", $current_site->domain, $current_site->path ) );

Le nom de domaine et le chemin sont utilisés pour déterminer le blog auquel vous accédez.

Cela ne "ralentit pas sérieusement", le domaine et le chemin d'accès sont des champs entièrement indexés dans la base de données.

2
Otto