Есть ли какая-либо функция для включения классов в теги <a>& <li>, наследуемые от wp_nav_menu ()? - PullRequest
0 голосов
/ 01 ноября 2019
'header_menu', 'menu_class' => 'navbar-nav', 'container' => 'div', 'container_class' => 'navbar-collapse collapse justify-content-center', 'container_id' => 'navbarDefault','глубина' => 2,));?>

Ответы [ 3 ]

0 голосов
/ 01 ноября 2019

Это можно сделать с помощью фильтра nav_menu_css_class:

function wpdocs_special_nav_class( $classes, $item ) {
        // Apply specific class: .special-class
    $classes[] = "special-class";
    return $classes;
}
add_filter( 'nav_menu_css_class' , 'wpdocs_special_nav_class' , 10, 2 );

Ссылки:

Добавление пользовательских классов CSS в вывод HTML wp_nav_menu с использованием фильтров WordPress

Кодекс

0 голосов
/ 01 ноября 2019
/**
 * Add class to the li element on a menu.
 *
 * @param $classes
 * @param $item
 * @param $args
 *
 * @return array
 */
function add_classes_on_li( $classes, $item, $args ) {
    if( 'primary' === $args->theme_location ) {
        $classes[] = 'nav-item';
    }

    if( 'secondary' === $args->theme_location ) {
        $classes[] = 'nav-item';
    }

    return $classes;
}
add_filter( 'nav_menu_css_class', 'add_classes_on_li', 1, 3 );

/**
 * Add class to primary menu anchors.
 *
 * @param $atts
 * @param $item
 * @param $args
 * @param $depth
 *
 * @return array
 */
function add_class_to_primary_menu_anchors( $atts, $item, $args, $depth ) {
    if( 'primary' === $args->theme_location ) {
        $atts['class'] = 'nav-link';
    }

    return $atts;
}
add_filter( 'nav_menu_link_attributes', 'add_class_to_primary_menu_anchors', 10, 4 );
0 голосов
/ 01 ноября 2019

Нет, вам нужно создать свой собственный класс меню, как это сделать;

https://code.tutsplus.com/tutorials/understanding-the-walker-class--wp-25401 https://wordpress.stackexchange.com/questions/248369/how-to-create-this-custom-menu-walker

https://developer.wordpress.org/reference/classes/walker/

Таким образом, вы можете редактировать и создавать меню в соответствии с вашими потребностями.

Примечание: вы можете добавить класс через меню на панели WordPress, но вам нужно будет добавить все вручную.

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