这个get_blog_list()
函数已从v3中弃用。如何在多站点博客中获取博客列表?
如何在不使用GET_BLOG_LIST()的情况下获得子博客列表?
Trac对未来版本中可能的替换进行了一些讨论和编码,票证#14511 new function - wp_get_sites($args).
您可以直接查询数据库。
global $wpdb;
$blogs = $wpdb->get_results( "SELECT * FROM $wpdb->blogs ORDER BY blog_id" );
这将返回一个包含网络上所有站点的数组,然后可以使用foreach语句构建;填充您自己的阵列。还记得仔细阅读codex page on interfacing with the WP database 使用时$wpdb
特别注意$wpdb->prepare
方法执行更高级的查询时。
一种可能有用的替代方法是get_blogs_of_user($user_id).
它提供了一个完美的替代方案,但前提是所有博客都是由同一个(管理员)用户创建的,这在我的情况下是可行的。
有这样的插件http://wordpress.org/extend/plugins/multisite-recent-posts-widget/.
我使用了一个类似的插件(上面插件的衍生物)代码(原始源代码不再可用,因此没有链接,两周前才找到!)创建列出最近300个新多站点的多站点站点地图页面模板。
您可以在www.google-adsense-templates下载我的页面模板。co.uk/seo-plugin/sitemap-multisite。zip只适用于Talian 05 SEO主题,但您可以轻松地将相关代码复制到您自己的主题页面模板中。
大卫