Одно меню на несколько WP сайтов
Есть 3 мультисайта на WordPress, с поддиректориями. Есть надобность использовать одно общее топ меню на каждом сайте (на главных, и на сабдоменах). Хранить это меню, вполне очевидно - надо на одном из сайтов (чтобы редактировать из одного места). Создать одинаковое меню во всех трёх сетях - почти не вариант, слишко много уровней. Не могу найти вменяемого и элегантного решения. Даже не элегантного найти не могу.
Возможно ли обратиться к БД сайта тостера, чтобы получить это меню, или возможно его можно экспортить (меню)? Спасибо!
В целом это достаточно частый кейс для мультисайтинга на WordPress
Предположим что вы построили меню на главной сайта ID 1 и оно у вас находится в позиции 'main'
Тогда для того чтобы показать его в нужном месте на других сайтах мультисайта
Вам необходимо внедрить его.
Потенциальный вариант кода:
<?php // MU switch if (is_multisite()) { // Получаем $blog_id чтобы запомнить на каком сайте мы в текущий момент global $blog_id; $current_blog_id = $blog_id; // Переключаемся на первый сайт (тот где создавали меню) switch_to_blog( 1 ); if ( has_nav_menu( 'main' ) ) : wp_nav_menu( array( 'theme_location' => 'main' ) ); endif; // Возврат обратно к текущему сайту switch_to_blog( $current_blog_id ); } ?>Спасибо большое за ответ! Да, если один мультисайт - так и делается, Последней функцией может быть просто: restore_current_blog(). Но у меня 3 мультисайта. То есть - 3 отдельных сайта со своими сетями. Вопрос в том - как расшарить меню с сайтом вне мультисайт сети?
Кэшируй его куда-нибудь и бери из кэша на 3 сайта...