2015-01-16 4 views
0

Так что я создаю плагин wordpress, но у меня есть проблема. Я хочу, чтобы вошел пользователь, чтобы увидеть еще несколько страниц, а затем гостей.Другое меню при входе в систему

Я думал, что было бы проще иметь 2 разных меню, чтобы пользователь мог сам его отредактировать.

Теперь у меня возникла проблема. Я создал 2 меню (User-Menu и Guest-Menu) Меню для гостей - мое основное меню.

Теперь я сделал некоторые погуглите и наткнулся на этот код:

function customMenu(){ 
    if(is_user_logged_in()) { 
     $args['menu'] = 'User-Menu'; 
    } 
    return $args; 
} 
add_filter('wp_nav_menu_args', 'customMenu'); 

Unfortunatly это вызывает мое меню полностью исчезнуть. Что-то не в порядке с кодом? Я дважды проверял имя (On spaces, Capitals и т. Д.) И ничего не мог найти. Я также попробовал идентификатор элемента меню, который тоже не сработает.

Этот код выше правильного пути? и если да, то в чем ошибка? Если не то, что это правильный способ сделать это с плагином

ответ

1

Фильтры взять существующую переменную и изменить ее, поэтому она должна быть аргументом в вашей функции (не от темы!):

function customMenu($args){ 
    if(is_user_logged_in()) { 
     $args['menu'] = 'User-Menu'; 
    } 
    return $args; 
} 
add_filter('wp_nav_menu_args', 'customMenu'); 
+0

Большое спасибо, небольшие глупые ошибки делают разницу: P – PrivateerGerrit

+0

Да всегда самые простые пропустить! –

Смежные вопросы