Die Funktion get_blog_list()
wurde von Version 3.0 aufgegeben. Wie erhält man eine Liste von Blogs in einem Blog mit mehreren Sites?
Trac hat einige Diskussionen und Code für einen möglichen Ersatz in zukünftigen Versionen, Ticket # 14511 neue Funktion - wp_get_sites ($ args) .
Sie können Ihre Datenbank direkt abfragen.
global $wpdb;
$blogs = $wpdb->get_results( "SELECT * FROM $wpdb->blogs ORDER BY blog_id" );
Dadurch wird ein Array zurückgegeben, das alle Ihre Sites im Netzwerk enthält. Anschließend können Sie mit einer foreach-Anweisung Ihr eigenes Array erstellen und ausfüllen.
Denken Sie auch daran, die Codex-Seite zur Schnittstelle mit der WP -Datenbank sorgfältig zu lesen, wenn Sie $wpdb
verwenden. Beachten Sie insbesondere die $wpdb->prepare
-Methode, wenn Sie erweiterte Abfragen durchführen.
Eine möglicherweise nützliche Alternative ist get_blogs_of_user ($ user_id) .
Es bietet eine perfekte Alternative, aber nur, wenn alle Blogs von demselben (Admin-) Benutzer erstellt wurden - was in meinem Fall funktioniert.
Es gibt Plugins dafür wie http://wordpress.org/extend/plugins/multisite-recent-posts-widget/ .
Ich habe einen ähnlichen Plugin-Code (Ableitung des obigen Plugins) verwendet (Originalquelle nicht mehr verfügbar, daher kein Link, wurde auch erst vor zwei Wochen gefunden!), Um eine Sitemap-Seitenvorlage für mehrere Standorte zu erstellen, in der die neuesten 300 neuen aufgeführt sind Multisites.
Sie können meine Seitenvorlage unter www.google-adsense-templates.co.uk/seo-plugin/sitemap-multisite herunterladen. Zip funktioniert nur mit dem SEO-Thema Talian 05, Sie können den entsprechenden Code jedoch problemlos in Ihre eigenen Themen kopieren Seitenvorlage.
David