Intereting Posts
Где подходящее место для добавления фильтра для pre_get_table_charset? Установите «Display Name Publicly As ..» для имени пользователя по умолчанию Как изменить язык страницы «Сбросить пароль» вызов admin-ajax.php из admin-ajax.php Как добавить пользовательские цветовые образцы для всех редакторов WYSIWYG? Отключить ненужные скрипты в установке wordpress Как переместить логотип в теме «Двадцать семнадцать» Далее в строке меню Пользовательский способ доставки не отображается в кассе Добавить класс в пункты меню одного определенного меню (nav_menu_css_class) Исключить категорию сообщения на странице блога Показать кнопку, если мета-окно имеет контент, иначе скрыть не удалось сохранить сообщение meta в одном поле с несколькими выборами Перенаправить на почту после отправки с помощью Gravity Forms? add_action в классе и использовать его в теме Как защитить загрузки в многопользовательском режиме, если пользователь не вошел в систему?

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

Есть ли способ установить следующий параметр из плагина 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 );