Для добавления элемента <span>
в дочернее <ul>
меню в WordPress, вам потребуется изменить код шаблона header.php
. Вот шаги, которые нужно выполнить:
1. Откройте файл header.php
, который находится в теме вашего сайта. Обычно файл можно найти в директории wp-content/themes/{название вашей темы}/
.
2. Найдите код, отвечающий за вывод меню. Обычно он выглядит примерно так:
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_id' => 'primary-menu' ) ); ?>
3. Замените этот код фрагментом, который позволит вам изменить классы и HTML-элементы, используемые для вывода меню:
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_id' => 'primary-menu', 'menu_class' => 'menu', 'container' => 'ul', 'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>', 'fallback_cb' => false, 'walker' => new Custom_Walker_Nav_Menu() ) ); ?>
4. Создайте новый файл custom-walker-nav-menu.php
в директории вашей темы (если он уже не существует) и добавьте в него следующий код:
<?php class Custom_Walker_Nav_Menu extends Walker_Nav_Menu { // Добавляем дополнительные элементы к каждому пункту меню function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $classes = empty( $item->classes ) ? array() : (array) $item->classes; $classes[] = 'menu-item-' . $item->ID; $output .= '<li class="' . esc_attr( implode( ' ', $classes ) ) . '">'; // Ссылка на страницу $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) . '"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) . '"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) . '"' : ''; $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) . '"' : ''; $attributes .= ! empty( $item->url ) ? ' itemprop="url"' : ''; $item_output = $args->before; $item_output .= '<a' . $attributes . '>'; $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; $item_output .= '</a>'; // Добавляем дополнительный <span> $item_output .= '<span class="custom-span">' . $item->description . '</span>'; $item_output .= $args->after; $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args, $id ); } }
5. Внимательно проверьте, что в коде выше у вас есть правильное значение класса custom-span
для элемента <span>
. Вы можете изменить это значение по своему усмотрению.
6. После сохранения фала custom-walker-nav-menu.php
, активируйте его в functions.php
, добавив следующий код:
require_once get_template_directory() . '/custom-walker-nav-menu.php';
7. После выполнения всех этих шагов, вам нужно будет добавить класс custom-span
в файл style.css
вашей темы и добавить необходимый стиль.
8. Сохраните изменения в файлах header.php
, custom-walker-nav-menu.php
и style.css
.
Теперь у вас должен быть <span>
элемент в дочернем <ul>
меню вашего сайта WordPress.