Для того чтобы вывести в подменю в WordPress ссылку на родительский элемент, необходимо немного изменить шаблон функции wp_nav_menu()
. В стандартной версии WordPress функция wp_nav_menu()
не предоставляет простого способа автоматического добавления ссылки на родительский элемент в подменю.
Однако, можно использовать фильтры WordPress, чтобы настроить вывод меню. Для данной задачи нам потребуется использовать фильтр wp_nav_menu_objects
, который позволяет работать с объектами меню перед их выводом.
Пример кода:
// Функция для добавления ссылки на родителя в подменю function add_parent_link_to_submenu( $items, $args ) { // Получаем ID текущей страницы $current_page_id = get_queried_object_id(); $menu_items_with_parent_link = array(); // Проходим по всем элементам меню foreach ( $items as $item ) { // Если текущий элемент является дочерним if ( $item->menu_item_parent && $current_page_id == $item->object_id ) { // Получаем данные родительского элемента $parent_item = wp_setup_nav_menu_item( get_post( $item->menu_item_parent ) ); // Создаем ссылку на родительский элемент $parent_link = array( 'title' => $parent_item->post_title, 'url' => $parent_item->url, 'menu_order' => $item->menu_order - 0.1, // Позволяет вставить ссылку перед текущим элементом 'menu_item_parent' => $item->menu_item_parent ); // Добавляем ссылку на родителя в массив меню $menu_items_with_parent_link[] = (object) $parent_link; } } // Объединяем массив меню с добавленными ссылками на родителей $items = array_merge( $items, $menu_items_with_parent_link ); return $items; } // Добавляем фильтр к функции wp_nav_menu_objects add_filter( 'wp_nav_menu_objects', 'add_parent_link_to_submenu', 10, 2 );
Вы можете поместить этот код в файл функций (functions.php
) вашей темы WordPress. После этого, при выводе меню функцией wp_nav_menu()
, ссылка на родителя будет автоматически добавляться в подменю дочерней страницы.
Пожалуйста, обратите внимание, что этот код приведен в качестве примера и может потребовать доработки в зависимости от особенностей вашего сайта. Также рекомендуется выполнять изменения в коде с осторожностью, чтобы избежать ошибок на вашем сайте.