Intereting Posts
Как удалить тег Nextpage внутри текста сообщений в зависимости от utm_campaign Как изменить подменю-элемент на панели управления WordPress на основной пункт? Как настроить собственный URL таксономии? Виджет для встраивания видео в YouTube Отображение разных ссылок на разные страницы Восстановление сайта: как показать несколько категорий в теме Woo Framework? Неустранимая ошибка: я получил «Неизвестно: не удается использовать буферизацию вывода в обработчиках отображения буферизации вывода в Unknown on line 0» Error Как получить все результаты по моему запросу игнорирование, блокировка плагинов mu при запуске wp-cli Gravity Forms Entry List, отображающий условные заполнители Функция вызова из отдельной установки WordPress на том же сервере Извлеките первый выложенный URL, вставленный в содержимое сообщения Где коды тем для WordPress? Имя шаблона всегда совпадает с именем каталога? Как изменить тематический контент в Thematic?

Установите активное меню навигации из плагина

Есть ли способ установить следующий параметр из плагина WordPress, если вы знаете имя меню, которое вы хотите установить: введите описание изображения здесь

Мой разработчик говорит, что это невозможно, но я уверен, что вы, гуру, знаете об этом;)

Solutions Collecting From Web of "Установите активное меню навигации из плагина"

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

Пример:

 function test_wp_nav_menu_args( $args = '' ) { // only set menu for the primary navigation menu. if ( $args['theme_location'] != 'primary' ) { return $args; } // change {main-menu} to be the slug of the menu you want to set. $args['menu'] = 'main-menu'; return $args; } add_filter( 'wp_nav_menu_args', 'test_wp_nav_menu_args' ); 

Вы можете использовать get_theme_mod и set_theme_mod для сохранения местоположений навигационных меню.

Получить места:

 $locations = get_theme_mod( 'nav_menu_locations' ); var_dump( $locations ); 

печатает:

 Array ( [primary] => 0 [secondary] => 0 ) 

Получить существующие навигационные меню:

 $nav_menus = get_terms( 'nav_menu', array( 'hide_empty' => true ) ); var_dump( $nav_menus ); 

печатает:

 Array ( [0] => stdClass Object ( [term_id] => 2 [name] => Main [slug] => main [term_group] => 0 [term_taxonomy_id] => 2 [taxonomy] => nav_menu [description] => [parent] => 0 [count] => 3 ) } 

Установить местоположение:

 $nav_menu_id = $nav_menus[0]->term_id; $location = 'primary'; $locations[ $location ] = $nav_menu_id; set_theme_mod( 'nav_menu_locations', $locations );