Intereting Posts
Как добавить параметр для администратора, чтобы добавить изображение, которое можно использовать в качестве заголовка? GPL и интеллектуальная или эксклюзивная собственность Создайте CSV-файл и добавьте данные в новое сообщение WordPress Выполнение того же $ wpdb -> get_results () с идентичным запросом и кэшированием Как создать различные фреймы / фильтры для медиафайлов в зависимости от пользовательских действий Добавление нескольких таксономических фильтров в функции functions.php Интеграция WP как CMS с отслеживателем ошибок Реализация HTML / CSS-меню в теме WordPress Создать страницу только для темы Альтернатива new_to_publish Крючок для пользовательских статусов Отображение ОДНОЙ таксономии и назначенных ей страниц Как удалить скрипт cufon из темы Dzonia Lite Непервалютная пользовательская таксономия не найдена Локализация: мне нужен бэкэнд: английский и интерфейс в определенном языке Как фильтровать пользовательские типы сообщений с помощью таксономии пользовательских категорий

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

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