Как вставить динамический пункт меню в определенное место?

Я могу поместить новый пункт меню в конец пунктов меню корневого уровня, используя это:

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

0

Решение

Быстрое и грязное решение:

введите описание изображения здесь

устанавливать плагин управления видимостью пунктов меню; это позволяет вам условно отображать пункты меню и подменю через страницу меню.

Добавьте свою собственную функцию «my_function» в functions.php или в свой собственный плагин функций сайта. Плагин должен возвращать TRUE, когда должно отображаться подменю.

На странице меню WP Dashboard выберите дополнительное подменю и добавьте это условное function_exists("my_function") && my_function() в это поле видимости. Упрощенно: не падайте, если my_function не может быть найден, и отображать это подменю только когда my_function возвращает TRUE.

Я предполагаю, что этот плагин должен ОЦЕНИТЬ условное в поле видимости. Теоретически это небольшой риск для безопасности. Однако, когда я проверил плагины многие поддерживают & отзывы (месяцы назад) Я не мог найти никакого поднятия этого вопроса.

Если это беспокоит вас; затем В качестве альтернативы вы можете найти нужный код из исходного кода плагина..

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]