Как добавить в меню wordpress span в дочернем ul?

Для добавления элемента <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.