WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Одно меню на несколько WP сайтов

Есть 3 мультисайта на WordPress, с поддиректориями. Есть надобность использовать одно общее топ меню на каждом сайте (на главных, и на сабдоменах). Хранить это меню, вполне очевидно - надо на одном из сайтов (чтобы редактировать из одного места). Создать одинаковое меню во всех трёх сетях - почти не вариант, слишко много уровней. Не могу найти вменяемого и элегантного решения. Даже не элегантного найти не могу.

Возможно ли обратиться к БД сайта тостера, чтобы получить это меню, или возможно его можно экспортить (меню)? Спасибо!

0
Kirill
4.8 лет назад
  • 0
    vyatka newwebmaster.ru

    В целом это достаточно частый кейс для мультисайтинга на 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 );
    }
    ?>
    
    Kirill 4.8 лет назад

    Спасибо большое за ответ! Да, если один мультисайт - так и делается, Последней функцией может быть просто: restore_current_blog(). Но у меня 3 мультисайта. То есть - 3 отдельных сайта со своими сетями. Вопрос в том - как расшарить меню с сайтом вне мультисайт сети?

    Kama 4.8 лет назад

    Кэшируй его куда-нибудь и бери из кэша на 3 сайта...

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация