Добавить имя класса в текущий пункт меню для дочерних страниц родительского элемента в меню для WordPress

Я использую следующий код, чтобы напечатать меню дочерних страниц родителя в меню ul li. это прекрасно работает однако у меня нет возможности передавать имя класса только для текущей страницы, на которой находится пользователь - та же концепция WordPress использует для кода главного меню - мне любопытно, что мне нужно изменить в этом коде для передачи в текущий пункт меню имя_класс?

function nee_list_child_pages() {

    global $post;

    $string = '';

    if ( is_page() && $post->post_parent )

        $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->post_parent . '&echo=0' );
    else
        $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->ID . '&echo=0' );

    if ( $childpages ) {
        $string = '<div id="sidebar_menu"><ul>' . $childpages . '</ul></div>';

        return $string;
    }
}

add_shortcode('wpb_childpages', 'nee_list_child_pages');

1 ответ

Вы должны создать NavWalker для этого. Вот пример имплантации: https://gist.github.com/kosinix/5544535

и документы для офиса: https://codex.wordpress.org/Class_Reference/Walker_Nav_Menu

Другие вопросы по тегам