Основная навигация Wordpress ul, переопределение класса li - PullRequest
0 голосов
/ 21 января 2020

Так я переопределяю классы ul, li (нотация BEM) в основной навигации в Wordpress. Это поддержка вложенных элементов меню. Шаги: 1. Создайте меню 2. убедитесь, что вы отключили эхо в wp_nav_menu с помощью «'echo' => false» 3. поместите эхо перед первым preg_replace Мое меню не имеет дополнительной оболочки

function storefront_primary_navigation() {
?>
<nav class="menu" role="navigation" aria-label="<?php esc_html_e( 'Primary Navigation', 'storefront' ); ?>">
    <button class="menu__btn" aria-controls="menu" aria-expanded="false"><span><?php echo esc_attr( apply_filters( 'storefront_menu_toggle_text', __( 'Menu', 'storefront' ) ) ); ?></span></button>
    <?php
     echo preg_replace('#class="(.+\s)?sub-menu(\s|")#', 'class="menu__list--subMenu"',
            preg_replace('#<li[^>]+>#','<li class="menu__item">',
                preg_replace('#<a#','<a class="menu__link"',
                    wp_nav_menu(
                        array(
                            'items_wrap'      => '<ul class="menu__list">%3$s</ul>',
                            'theme_location'  => 'primary',
                            'container' => false,
                            'echo' => false
                        )
                    )
                )
            )
     );


    wp_nav_menu(
        array(
            'theme_location'  => 'handheld',
            'container_class' => 'handheld-navigation',
        )
    );
    ?>
</nav><!-- menu -->
<?php

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...