Я могу поместить новый пункт меню в конец пунктов меню корневого уровня, используя это:
function bv_show_book_online_menu_item($items, $args) {
if(bv_can_book_online()) {
if($args->theme_location == 'main-menu') {
$items .= '<li><a href="/book/">Book Online</a></li>';
}
}
return $items;
}
add_filter('wp_nav_menu_items','bv_show_book_online_menu_item', 10, 2);
Но как я могу вставить этот предмет в любое место, где захочу? Я на самом деле хочу разместить его в середине подменю следующим образом:
Menu Item
Submenu Item
Submenu Item
<-- Insert new submenu item -->
Submenu Item
Submenu Item
Menu Item
Submenu Item
Submenu Item
Submenu Item
etc
Быстрое и грязное решение:
устанавливать плагин управления видимостью пунктов меню; это позволяет вам условно отображать пункты меню и подменю через страницу меню.
Добавьте свою собственную функцию «my_function» в functions.php или в свой собственный плагин функций сайта. Плагин должен возвращать TRUE, когда должно отображаться подменю.
На странице меню WP Dashboard выберите дополнительное подменю и добавьте это условное function_exists("my_function") && my_function()
в это поле видимости. Упрощенно: не падайте, если my_function
не может быть найден, и отображать это подменю только когда my_function
возвращает TRUE.
Я предполагаю, что этот плагин должен ОЦЕНИТЬ условное в поле видимости. Теоретически это небольшой риск для безопасности. Однако, когда я проверил плагины многие поддерживают & отзывы (месяцы назад) Я не мог найти никакого поднятия этого вопроса.
Если это беспокоит вас; затем В качестве альтернативы вы можете найти нужный код из исходного кода плагина..
Других решений пока нет …