在Wordpress中的自定义导航上添加类

时间:2019-01-03 09:19:47

标签: php wordpress function

我在Wordpress中创建了第二个自定义导航,以创建顶部栏菜单。但是我需要在ullia元素上添加类。

我在functions.php中的代码如下:

function secondary_navigation() {
    register_nav_menu('secondary-navigation',__( 'Top bar navigation' ));
}
add_action( 'init', 'secondary_navigation' );

模板中的代码如下:

    <?php
                    wp_nav_menu( array( 
                        'theme_location' => 'secondary-navigation', 
                        'menu_class' => 'navigation__list',
                        'add_li_class' => 'navigation__list__item',
                    )
    ); ?>

'menu_class' => 'navigation__list'还在我的ul周围创建了一个div,而不是将类添加到ul元素中。

我还有一个主要的导航,在上面的元素上添加了类,这很正常。为了使其适用于此导航,我创建了两个功能:

/*
 *  Add classes to the navigation li item
 */
function add_additional_class_on_li($classes, $item, $args) {
    if($args->add_li_class) {
        $classes[] = $args->add_li_class;
    }
    return $classes;
}
add_filter('nav_menu_css_class', 'add_additional_class_on_li', 1, 3);


/*
 *  Add classes to the navigation a link
 */
function add_menuclass($ulclass) {
    return preg_replace('/<a /', '<a class="navigation__list__item__link"', $ulclass);
}
add_filter('wp_nav_menu','add_menuclass');

模板中的主要导航如下:

    <?php wp_nav_menu(
                    array(
                        'theme_location'  => 'primary',
                        'container_id'    => 'navbarNavDropdown',
                        'menu_class'      => 'navigation__list',
                        'fallback_cb'     => '',
                        'menu_id'         => 'main-menu',
                        'add_li_class'  => 'navigation__list__item',
                        'depth'           => 2,
                    )
    ); ?>

那么如何使这两个功能(适用于主要导航)适用于自定义的次要导航?

0 个答案:

没有答案