Показать все сообщения на двадцать девятом мультисайте

Я использую по умолчанию двадцать тринадцать на сайте wordpress 4.0. Сейчас у меня есть один сайт в сети. Я могу добавить один или два в следующем году или около того. Оба блогов используют двадцатьнадцать. Прямо сейчас «главный» блог только отключает свои собственные сообщения. Я хочу, чтобы он включал дочерний блог. Есть ли хороший способ сделать это? Не имеет значения, если я должен выполнить ручную манипуляцию в коде, когда я добавляю блог в сеть, так как я не буду делать это часто.

Изменить: я хочу, чтобы сообщения отображались в основной области содержимого, например, в сообщениях из основного блога. В том же стиле по умолчанию, что и двадцать тринадцать.

Изменить 2: Разъяснение. В двадцать девятой теме есть «The Loop» в index.php.

<?php while ( have_posts() ) : the_post(); ?> <?php get_template_part( 'content', get_post_format() ); ?> <?php endwhile; ?> 

Если бы я мог получить, что в то время, когда цикл тоже забирает дочерние блоги, я получаю именно то, что мне нужно. Я знаю, что это приведет к большему количеству последствий, которые необходимо решить (например, подкачки), но это по сути то, что мне нужно.

Если вы ищете «легкую», то самым простым способом, вероятно, является использование RSS-виджета для этого. Получите два виджета, по одному для каждого блога, и все готово. Когда у вас есть третий блог, просто добавьте еще один виджет.

Вы не можете просто перебирать все последние сообщения в своей сетевой установке. Каждый сайт в сети настроен так, что API и большинство пользовательских интерфейсов идут как полноценный автономный сайт wordpress. Это и сила, и слабость системы, но это означает, что делать что-либо, что смешивает контент с разных сайтов, не является тривиальным.

Ключом является функция switch_to_blog и restore_current_blog, которые позволяют использовать WordPress API в контексте разных блогов

Поскольку вы хотите, чтобы ваши сообщения отображались в хронологическом порядке, вам сначала нужно создать список всех последних сообщений на всем сайте, что-то вроде

 $blogs_to_fetch = array( the blog ids of the blogs); $posts = array(); // first we collect data foreach ($blogs_to_fetch as $blogid) { switch_to_blog($blogid); $ps = get_posts(parameters to get N latest posts); foreach $ps as $p) { $posts[] = array('blogid' => $blogid, 'post' => $post); } restore_current_blog(); // not realy needed, but nicer to the eye } $posts = sort_posts($posts); // your own function that sorts the posts by time or by any other creiteria // now we display foreach ($posts as $p) { switch_to_blog($p['blogid']); setup_postdata( $p ); get_template_part( 'content', get_post_format() ); restore_current_blog(); } // cleanup wp_reset_postdata();