Intereting Posts
Изображения, не работающие с использованием Рекомендуемые сообщения Может быть конфликт пространства имен (?) С формой входа и формой регистрации на той же странице Как обновить роль пользователя без выхода из системы Как назначить настраиваемое навигационное меню WP 3.0 в меню навигации навигации по тексту через сценарий? Как динамически заполнять wp_nav_menu из пользовательской таксономии? Плагин JQuery, который работает с Google 1.10.2, а не с WordPress 1.10.2 То же имя темы с темой репозитория WordPress WP_Query упорядочен по пользовательскому полю, который является строкой даты? Сделайте два вида архива типа сообщения по двум URL-адресам «Автоматическое обновление WordPress не завершилось – повторите попытку обновления сейчас» – Но нет файла поддержки. Недавнее отображение сообщений с использованием короткого кода Как я могу найти первое сообщение в категории с имеющимся изображением, а затем вернуть get_the_post_thumbnail ()? Как отобразить the_post_thumbnail, если сообщение имеет одно или другое отображение первого изображения в сообщении? Второй раздел комментариев для одной публикации / страницы Добавить CPT в качестве подстраницы под пользовательской страницей

Многостраничный список всех страниц сайта

У меня есть WP Multisite, который содержит 3 сайта – сайты 1, 2, 3

Сайт 1 и 2 – это только одна страница, но сайт 3 имеет несколько страниц внутри.

Я хотел бы показать навигацию в верхней части каждого сайта на других сайтах.

Я также хотел бы показать дочерние страницы на сайте 3 на каждой странице.

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

<div class="navbar-collapse collapse"> <?php $the_blog_id = get_current_blog_id(); $bcount = get_blog_count(); global $wpdb; $blogs = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->blogs WHERE spam = '0' AND deleted = '0' and archived = '0' and public='1'",13, 'stack overflow' ) ); echo ( $blogs->blogname ); if ( !empty( $blogs ) ) { ?> <ul class="nav navbar-nav"> <li class="portalHome"> <a href="dashboard.html"> <i class="fa fa-home"></i> <i class="fa fa-chevron-right pull-right chervonMobNav"></i> </a> </li> <?php foreach ( $blogs as $blog ) { $details = get_blog_details( $blog->blog_id ); if ( $details != false ) { $addr = $details->siteurl; $name = $details->blogname; $id = $details->blog_id; // echo $name ." is blog ". $id." / "; if ( !( ( $blog->blog_id == 2 ) && ( $show_main != 1 ) ) ) { $class = ( $blog->blog_id == get_current_blog_id() ) ? ' current-site' : ''; ?> <li class="menu-item<?php echo $class; ?>" > <a href="<?php echo $addr; ?>"><?php echo $name;?> <i class="fa fa-chevron-right pull-right chervonMobNav"></i></a> <?php if ( $blog->blog_id == 4 ) { echo 'here'; //show the nav for blog 4 $pages_args = array( 'title_li' => '', 'depth' => 0 ); wp_list_pages( $pages_args ); } ?> </li> <?php } } } ?> </ul> <?php } ?> </div><!--/.nav-collapse --> 

Проблема здесь в том, что она отображает только страницы на сайте 3, когда я нажимаю эту ссылку и отправляю ее на этот сайт.

Я хочу, чтобы навигация отображала страницы на сайте 3, когда я на сайте 1 и на сайте 2

Таким образом, навигатор на каждом сайте должен выглядеть похожим.

 Site One | Site Two | Site Three Site Three - page 1 Site Three - page 2 Site Three - page 3 

Solutions Collecting From Web of "Многостраничный список всех страниц сайта"

Вы хорошо написали свой собственный запрос, чтобы получить все сайты / блоги, но есть также специальная функция WordPress, которую вы можете использовать: wp_get_sites()

Если вы хотите получить контент с другого сайта / блога, вам нужно сначала переключиться с помощью switch_to_blog() чтобы убедиться, что ваш запрос будет работать в правильном контексте. (И не забудьте снова вернуться к нормальной работе с помощью restore_current_blog() !)

После этого я обновил ваш фрагмент соответственно, чтобы вы могли попробовать:

 <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li class="portalHome"> <a href="dashboard.html"> <i class="fa fa-home"></i> <i class="fa fa-chevron-right pull-right chervonMobNav"></i> </a> </li> <?php $args = array( 'public' => 1 // limit to public sites ); $sites = wp_get_sites( $args ); $current = get_current_blog_id(); // current blog id foreach ( $sites as $site ) : $site_meta = get_blog_details( $site['blog_id'] ); $current_class = $site['blog_id'] == $current ? ' current' : ''; // check for current site echo '<li class="menu-item' . $current_class .'" >'; echo '<a href="' . $site_meta->siteurl . '">' . $site_meta->blogname . ' <i class="fa fa-chevron-right pull-right chervonMobNav"></i></a>'; if ( $site['blog_id'] == 4 ) : // check for special site switch_to_blog( 4 ); // now switch to this site $pages_args = array( 'title_li' => '', 'depth' => 0 ); echo '<ul>'; wp_list_pages( $pages_args ); echo '</ul>'; restore_current_blog(); // switch back to normal endif; echo '</li>'; endforeach; ?> </ul> </div><!--/.nav-collapse -->