Как получить список подблогов без использования get blog list()?


Функция get_blog_list() устарела с версии 3.0. Как получить список блогов в многосайтовом блоге?

Author: kaiser, 2010-12-18

4 answers

У Trac есть некоторые обсуждения и код для возможной замены в будущей версии, билет #14511 новая функция - wp_get_sites($args).

 4
Author: Rarst, 2010-12-18 17:16:05

Вы можете напрямую запросить свою базу данных.

global $wpdb;

$blogs = $wpdb->get_results( "SELECT * FROM $wpdb->blogs ORDER BY blog_id" );

Это вернет массив, содержащий все ваши сайты в сети, затем вы можете использовать оператор foreach для создания и заполнения собственного массива.

Также не забудьте внимательно прочитать страницу кодекса о взаимодействии с базой данных WP при использовании $wpdb, особенно обратите внимание на $wpdb->prepare метод при выполнении более сложных запросов.

 3
Author: Rory Rothon, 2013-11-28 17:00:06

Одной из возможных полезных альтернатив является get_blogs_of_user($user_id).

Это идеальная альтернатива, но только в том случае, если все блоги были созданы одним и тем же пользователем (администратором), что работает в моем случае.

 2
Author: ptriek, 2012-02-01 09:57:10

Для этого есть плагины, такие как http://wordpress.org/extend/plugins/multisite-recent-posts-widget /.

Я использовал аналогичный плагин (производный от плагина выше) код (исходный источник больше не доступен, следовательно, нет ссылки, я нашел его только две недели назад!) Для создания шаблона страницы sitemap с несколькими сайтами, в котором перечислены последние 300 новых мультисайтов.

Вы можете скачать шаблон моей страницы по адресу www.google-adsense-templates.co.uk/seo-plugin/sitemap-multisite.zip будет работать только с темой SEO Talian 05, но вы можете легко скопировать соответствующий код в свой собственный шаблон страницы тем.

Дэвид

 0
Author: David Law, 2010-12-20 03:20:29