Фильтр wp_nav_menu_items

Фильтр wp_nav_menu_items позволяет изменять элементы навигационного меню. Это может быть полезно, если вы хотите добавить или изменить элементы меню на основе условий.

Пример использования:

Добавим ссылку на страницу профиля пользователя, если он авторизован.

function add_profile_link_to_menu( $items, $args ) {
    if ( is_user_logged_in() && $args->theme_location == 'primary' ) {
        $items .= '<li><a href="' . esc_url( get_permalink( get_option('profile_page_id') ) ) . '">Мой профиль</a></li>';
    }
    return $items;
}
add_filter( 'wp_nav_menu_items', 'add_profile_link_to_menu', 10, 2 );

Почитаем еще?: