La fonction get_blog_list()
est déconseillée depuis la v3.0. Comment obtenir une liste de blogs dans un blog multisite?
Trac a des discussions et du code pour un remplacement possible dans la version future, ticket # 14511 nouvelle fonction - wp_get_sites ($ args) .
Vous pouvez directement interroger votre base de données.
global $wpdb;
$blogs = $wpdb->get_results( "SELECT * FROM $wpdb->blogs ORDER BY blog_id" );
Cela retournera un tableau contenant tous vos sites sur le réseau. Vous pouvez ensuite utiliser une instruction foreach pour construire et remplir votre propre tableau.
Pensez également à lire attentivement la page codex sur l’interfaçage avec la base de données WP en utilisant $wpdb
, faites particulièrement attention à la méthode $wpdb->prepare
requêtes plus avancées.
Une alternative éventuellement utile est get_blogs_of_user ($ user_id) .
C'est une alternative parfaite, mais seulement si tous les blogs ont été créés par le même utilisateur (admin) - ce qui fonctionne dans mon cas.
Il existe des plugins pour cela comme http://wordpress.org/extend/plugins/multisite-recent-posts-widget/ .
J'ai utilisé un code de plugin similaire (dérivé du plugin ci-dessus) (la source d'origine n'est plus disponible, donc pas de lien, mais l'a trouvé il y a deux semaines également!) Pour créer un modèle de site multisite qui répertorie les 300 derniers nouveaux multisites.
Vous pouvez télécharger mon modèle de page sur www.google-adsense-templates.co.uk/seo-plugin/sitemap-multisite.Zip ne fonctionnera qu'avec le thème Talian 05 SEO, mais vous pourrez facilement copier le code correspondant dans vos propres thèmes. Modèle de page.
David